Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security Web应用程序:在从特定IP进行X次身份验证失败后向用户显示的错误页面_Security_Servlets_Web Applications_Jsf 2 - Fatal编程技术网

Security Web应用程序:在从特定IP进行X次身份验证失败后向用户显示的错误页面

Security Web应用程序:在从特定IP进行X次身份验证失败后向用户显示的错误页面,security,servlets,web-applications,jsf-2,Security,Servlets,Web Applications,Jsf 2,我有一个在JSF2.0上运行的web应用程序。现在web应用程序在Intranet上公开 我们遇到了一个与安全有关的严重问题 某些用户试图访问该应用程序。由于我们在应用程序中强制执行了最大登录尝试次数检查,因此登录未成功 但我们遇到了安全问题,可能正在寻求解决方案 我希望尝试从特定IP访问应用程序X次且未能在应用程序上验证自己的用户不应看到应用程序网页/而是显示一个错误页面,指示安全违规 所以,来自Ip 10.10.10.10:9000的用户尝试访问应用程序10次,但未能在应用程序上对自己进

我有一个在JSF2.0上运行的web应用程序。现在web应用程序在Intranet上公开

我们遇到了一个与安全有关的严重问题

  • 某些用户试图访问该应用程序。由于我们在应用程序中强制执行了最大登录尝试次数检查,因此登录未成功
但我们遇到了安全问题,可能正在寻求解决方案

我希望尝试从特定IP访问应用程序X次且未能在应用程序上验证自己的用户不应看到应用程序网页/而是显示一个错误页面,指示安全违规

所以,来自Ip 10.10.10.10:9000的用户尝试访问应用程序10次,但未能在应用程序上对自己进行身份验证时,应在第11次尝试时显示一个错误页面,指示安全违规

有人能建议我们怎么做吗

在您的登录bean中

HttpServletRequest request = (HttpServletRequest) (FacesContext.getCurrentInstance().getExternalContext().getRequest()); 

String ipAddress = request.getRemoteAddr();

您可以将此信息和计数存储在cookie中,或者更安全地存储在DB中

不要将其存储在cookie中,因为用户只需清除cookie即可重置失败的登录计数。将每次尝试记录在数据库中(日期/时间+IP),然后您可以分析过去30分钟左右的数据,以确定尝试次数是否超过阈值。您最好限制响应,而不是完全锁定,因为这样您就不会拒绝合法用户对其帐户的访问(在共享IP的情况下)。现在这样做了,正如我在问题中所问的,如果请求来自该IP,我希望用户甚至不显示身份验证页面。。在进行身份验证后向他显示未经授权相对简单。我想servlet过滤器的概念将会出现。有人能提供一些指导吗。。??