ThinkPHP5开发技巧: 实现登录验证次数,超过次数则冻结用户
总体思路:
1。新建一个数据表,记录登录状态(网上很多正确登录也记录了,我觉得没必要,只记录错误记录就够了)
2.每次登录验证时询问验证错误次数
3。出现登录错误时插入错误记录
4。以上验证过程属于同一个IP。在同一个IP下操作,也可以根据情况删除
具体代码如下:
DROP TABLE❿❿❿❿ EX ISTS `rs_user_login_info` « 整数 无符号 NOT NULL 自动增量, `uid` ❓ 无符号 |
/**♿♿* public = request()->post() '账户','''); ,''); { $这个->错误('请输入您的账号'); $密码 == '' ){ } //实例化模型\Admin() $us $帐户? $where)->find(); if(!$userInfo❿❿) $这个->错误( '账号或密码错误'); } 用户信息['id' ); ->错误('密码输入错误超过1小时10次,用户将被禁用1小时'); ‸} 如果(' 'id' ]; $错误数据['登录时' fo_mod->保存( $错误数据);$这个->错误('账号或密码错误'); //更新上次登录时间 $userInfo->isUpdate(true)->save( 'last _login_time' => 时间( ) ,],'id')取消设置($userInfo['密码']); $userInfo['状态'])'last_login_time']); 取消设置($userInfo ['last_login_time' ]); ] 会话('adminInfo',$userInfo) $这个 ->重定向(' '♾'); * 注:查看同一 IP 最近一小时密码输入错误次数(超过 10 次则返回错误) * 用户:Wendy_33 2* 时间:14:33 *// ){ $userLoginInfo_mod = ❓❿ model\UserLoginInfo( );$whereMap=数组 (, '记录时间' => /使用比较标签 |
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网
