关于JAVA的WEB开发,想在页面中实现在一段时间内限制同一个IP登陆失败次数过多

来源:百度知道 编辑:UC知道 时间:2024/05/19 17:44:09
想在页面中实现在一段时间内限制同一个IP登陆失败次数过多的再次登陆。最好是在servlet中实现?怎么实现请帮帮。如果不是不servlet实现也要给发表来大家参考一下。

给出在doXX(get或者post)方法里的一点,其他自己完善。
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException {
int resc = 6 ;//定义次数,比如六次

HttpSession sess = request.getSession(true);//获取一个session

//这里使用伪码,假设你已经有了验证是否登录失败的方法,假设这个方法名字为 validate(),返回类型为boolean,为true则为登录成功
if(validate()){
//继续你的程序流程。。
}else{//登录失败了。。。
String add = request.getRemoteAddr();//获取当前用户的IP

Integer times = (Integer) sess.getAttribute(add);

if(times == null ){//当前第一次登陆
sess.setAttribute(add, new Integer(1));//设置为登录了一次
}else{
times = times + 1;//这样做不太好,但是也有效。严谨点,你可以取出times的intValue,然后再操作
if(times >= resc){//超过次数限制。。。
//执行你需要的程序。。。
}else{//没有超过次数,继续。。。
sess.setAttribute(add,times);
}
}
}
}