thinkphp3.2实现密码输入错误超限后自动锁定的方法代码

封面图片-代码-方图
封面图片-代码-方图

thinkphp3.2实现密码输入错误超限后自动锁定的方法代码,思路是先在用户表中创建num错误次数字段,默认值是3次,然后没输入错误一次,数据库中预留的次数减少一次,当Num=0时就报锁定。

public function login_do(){
    //账号
    $username=$_POST['username'];
    //密码
    $pwd=$_POST['pwd'];
    $user=M('表名');
    $list=$user->where("username='$username'")->find();
    $time=date("Ymd",time());
    if($list['num']==0){
      if($list['time']!=$time+1){
        $this->error("您的账号已被锁定");
      }
    }
    if($list){
      if($list['pwd']==$pwd){
        $data['id']=$list['id'];
        $data['num']=3;
        $user->save($data);
        $this->success("登陆成功");
      }else{
        $list['num']=--$list['num'];
        $data['num']=$list['num'];
        $data['id']=$list['id'];
        $data['time']=$time;
        $user->save($data);
        $this->error("密码错误,还可以输入".$list['num']."次");
      }
    }else{
      $this->error("账号错误");
    }
}