我想实现个功能,具体如下:
  密码输入次数的判断,并冻结账号.
  会员在5分钟内 输入密码错误次数超过5次,那么账号自动锁定.30分钟可重新输入,30分钟内输入正确也不让登陆
  请各位高手多多指点,给个思路或方案,有代码更好,谢谢 密码

解决方案 »

  1.   

    用户表中设置loginTime(最后一次输入密码的时间)、lockNum(尝试登录次数)
    登录时候判断:lockNum >= 5 。如果大于5次,则判断loginTime是否是30分钟之前,也就是说,如果还没有30分钟,返回提示被锁显示页面;如果是过了30分钟,则记录当前登录时间,将lockNum清0即重新计算 。如果小于5次,则继续判断是否正确,不正确则更新loginTime时间,lockNum累加。正确的话,lockNum置为0。
      

  2.   

    可以使用cookie控制,[定义两个cookie, refuseLogin用于判断是否为登陆限制(30分钟), pwdError用于计算当前登录错误次数]
    每次登陆前先检测cookie[refuseLogin]是否存在且值为true,如果为true则不允许登录操作.
    如果为false则进行一下检测, 
    1.登录,如果错误则检测cookie[pwdError]是否存在, 如果存在则数量加1(不重新设置时长),否则设置cookie[pwdError]时长为5分钟,并计数1
    每次输入错误时先读取cookie[pwdError]如果存在则数量加1(不重新设置时长),
    如果错误次数=5则设置cookie[refuseLogin]=true,且时长为30分钟
      

  3.   

    cookie检测的方法仅适用于不严格验证,如需严格验证则需要把验证检测信息存入服务器数据结构中.