-->

PHP资讯

您的当前位置:首页 > 资讯 > PHP模块

PHP实现登录5次锁定用户

2020-11-05 14:09:40  来源:admin 点击:873

登录锁定:意思是在用户登录过程中,密码多次尝试后,就被锁定一个小时,管理员重置密码或者等一个小时就又可以使用了。

 

大体实现思路:

 

1.表设计:在用户表中users

Id

Logincount 登录次数

Lastlogtime 最后登录时间

 

2.在用户登录时,记录最后登录时间和登录次数,无论是否密码验证成功都记录

3.还是在登录时查询数据库,验证用户超时判断登录是否超过5次,时间是否超过一个小时,如果是,则限制登录。

4.如果时间超过一小时,则登录次数重置,否则登录次数加+1

 

实现代码:

//判断超时判断登录是否超过5次,时间是否超过一个小时

$user = 查询数据库;

if($user['lastlogtime'] + 3600 > time() && $user['logincount'] >=4){

      return [''msg' => '该账号登录次错误数过多,请1小时后在试'];

}

if($hasUser['lastlogtime'] + 3600 < time()){

DB::table('user')->where('id',$User['id'])->update(['logincount'=>1,'lastlogtime'=>time()]);

    return ['msg' => '用户名密码错误,还有4次机会尝试'];

}else{

    DB::table('user')->where('id',$User['id'])->update(['logincount'=>Db::raw('logincount+1'),'lastlogtime'=>time()]);

    return ['msg' => '用户名密码错误,还有'.(4-$User['logincount']).'次机会尝试'];

                }

            }


相关文章更多 >

© 2024版权所有 水水网

电话:171780793