jsp中是如何实现页面在规定时间内不能登录的

miaomiaohaishui 2011-03-23 09:55:48
就是一个登录页面,有用户名和密码,现在要实现的是当用户输入错误超过三次,则该用户在规定时间内将不能登录,请问是如何去实现的
...全文
182 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
macrotea-cn 2011-03-25
  • 打赏
  • 举报
回复
略写了一下:


public isBanLogin(){
//最大出错3次
int errorCount=3;

//periodCache ip对应的时间段Cache
Map<String,Date> periodCache=new HashMap<String,Date>();
//登陆ip缓存
Map<String,Integer> ipCache=new HashMap<String,Integer>();

//如果此ip在已经在30分钟内被禁止了
if(periodCache.get(ip)!=null){
if(当前日期-periodCache.get(ip)<30分钟){
return true;
}else{
//重设
periodCache.put(ip,null);
ipCache.put(ip,0);
}
}

boolean isBan=false;
String ip=null;
if(ipCache.get(ip)==null){
//第一次登陆失败
ipCache.put(ip,new Integer(1));
isBan=false;
}else{
//登陆失败超过3次则禁止
if(ipCache.get(ip)>errorCount){
isBan=true;
}else{
int temp=ipCache.get(ip);
ipCache.put(ip,new Integer(temp++));
isBan=false;
}
}
if(isBan){
periodCache.put(ip,new Date());
}
return ban;
}






零度阳光 2011-03-25
  • 打赏
  • 举报
回复
嗯,同意楼上的,其实可以去“程序员交易网”看看,也许能解决你的问题。www.bothwind.com.
yajiehanyang 2011-03-25
  • 打赏
  • 举报
回复
用servlet写个过滤器,获取当前时间判断是否是可登录时间,否则就提示此时间不能登录
miaomiaohaishui 2011-03-25
  • 打赏
  • 举报
回复
请问用Response内置对象操作cookie,这种方法可行吗?
桐桐-Dragon 2011-03-24
  • 打赏
  • 举报
回复
不知道,没考虑过这个问题。。。学习学习。。。!期待正解
kebin0001 2011-03-24
  • 打赏
  • 举报
回复
如同一樓,但只需要一個鎖定時間即可。
輸入三次時寫入鎖定時間(直接現在加鎖定時間),超過鎖定時間又可以輸入。
xdrs1314 2011-03-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 kebin0001 的回复:]
如同一樓,但只需要一個鎖定時間即可。
輸入三次時寫入鎖定時間(直接現在加鎖定時間),超過鎖定時間又可以輸入。
[/Quote]+1 这个可以实现。
jeky_zhang2013 2011-03-23
  • 打赏
  • 举报
回复
可以给用户表加两个字段,标识锁定状态和开始锁定时间,根据登陆时间来算,锁定时间与现在超过了设定时间,就解除锁定状态。方法有点笨,希望大家能提出更好的部分~~~

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧