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("账号错误");
}
}