在用户表里添加failcount, recenttime两个字段辅助控制
failcount记录尝试登录的次数,每失败一次加1,登录成功后清0。
recenttime记录最后一次尝试登录的时间。
登录程序中判断如果failcount>=3并且当前时间与recenttime之时间差在限定登录的时间范围内,拒绝登录,给出提示;超过时间范围后再次尝试登录时,将failcount清0。

解决方案 »

  1.   

    判断用户密码的时候更新人员表一个键值,例如count
    如果登陆不成功count+1
    登陆时如果count>3,账户锁定,记录锁定时间LockTime
    这段时间如果再次登陆,继续刷新锁定时间,这里判断如果已经超过锁定时间之后的一小时,锁定归为0
      

  2.   

    我给你思路吧.
    在用户表里面,建两个字段.error_num  ->  登陆错误次数,error_time -> 锁定时间
    登陆出错一次,就update  error_num+1,如果error_num等于3的时候,update error_time,
    在登陆的时候先判断用户名和密码是否正确,然后判断error_num,如果不是3,就update error_num=0,登陆成功,如果error_num等于3,判断error_time时候和当前时间,相差大于等于1个小时,如果是,登陆成功,update error_num="",如果相差小于1小时,echo "帐号锁定中,请稍候再试!";