登录判断

Posted gwhm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了登录判断相关的知识,希望对你有一定的参考价值。

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();
}


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














































以上是关于登录判断的主要内容,如果未能解决你的问题,请参考以下文章

vue 判断是否登录,未登录跳转到登录页

ThinkPHP判断是否登录

如何用JS判断网页的登录状态

一个优化登录判断的技巧

springboot + shiro之登录人数限制登录判断重定向session时间设置

java里面如何在用户登录管理页面时判断用户是不是登录