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前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。