登录判断

public function login(){
if (Request::instance()->isAjax()){
$name= Request::instance()->post('name');
$password = Request::instance()->post('password');
$result = Db::name('admin')->where(['name'=>$name])->find();
$inPWD=md5(md5($password));
if(empty($result)){
return ['code'=>-1,'msg'=>'用户不存在'];
}

//判断账户状态 0为锁定
if($result['status'] == 0){
if((time() - $result['last_time']) > 300){
//过了锁定时间 恢复正常状态
$count['status'] = 1;
Db::name('admin')->where(['name' => $name])->update($count);
}else{
return ['code'=>-1,'msg'=>'账号或密码错误超过3次,请5分钟之后登录!'];
}
}

if($result['password']==$inPWD) {
Db::name('admin')->where(['name' => $name])->update(['ip' => Request::instance()->ip(), 'last_time' => time()]);
session('admin', $result);
\session('last_time', time() + 1800);
return ['code' => 0, 'msg' => '登录成功!'];
}else{
if($result['count'] < 3){
// 错误小于三次 字段值增加
$count['count'] = $result['count']+1;
Db::name('admin')->where(['name' => $name])->update($count);
}else{
// 错误次数大于3时 属性恢复 清空 锁定
$count['count'] = 0;
$count['last_time'] = time();
$count['status'] = 0;
Db::name('admin')->where(['name' => $name])->update($count);
}
return ['code'=>-1,'msg'=>'密码错误'];
}
}
return view();
}


︿( ̄︶ ̄)︿?? 反正我是看懂了……

转载于:https://www.cnblogs.com/gwhm/p/10223667.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值