1

如果用户在我的网站上登录 5 次失败,我想对他进行 IP 封禁。如何在 Java 中获取某人的 IP,然后将其从我的站点中禁止?

目前,我的登录 servlet 看起来像这样。我知道计数系统应该以不同的方式实施,我稍后会着手处理。现在,我只想测试 IP 禁令。

if(user.isValid())
            {
                HttpSession session = request.getSession(true);
                session.setAttribute("currentSessionUser",user);

                response.sendRedirect("Unit_Info.jsp");
            }else{
                x=x+1;
                System.out.println("Failed Login " + x + "\n");

                if(x==5)
                    response.sendRedirect("http://google.com"); //IP BAN HIM
                else
                    response.sendRedirect("index.jsp"); 
            }

编辑:现在我想得更多,如果有人在尝试用户名/密码时使用代理并不断更改 IP,会发生什么。是否有确定的方法可以禁止该人,无论他是否使用代理?

4

1 回答 1

1

您可以使用 fail2ban 来实现相同的目的。这是资源。否则,您可以在 db 中设置一点,一旦它越过尝试次数参数,它就会设置。您可以将这些 IP 地址放入服务器的阻止列表中。

于 2013-10-23T06:41:20.377 回答