mysql 用户输错密码锁定_用户密码输错N次,自动锁定
用户密码输错N次,自动锁定
龙行 PHP 2020-8-6 487 0评论
好久没更新了,来一篇,一个小功能
看看需求:除去验证码登录,一般的账号密码登录的时候往往会设置各种限制,现在来捋捋这个账号冻结小功能。
功能逻辑:1)给用户表增加两个字段:err_time(登录账号密码输错的时间),err_count(账号密码输错次数)。在这里波波说的一点就是也有朋友建议用缓存的方式,但是我想了一下如果用缓存的话,存在一些人会登录一下清除一下浏览器缓存,这样即使多次输错,也实现不了账号冻结,无法保证安全。想尝试的朋友可以尝试,当然也可以将数据写进内存中。
2)若err_time不为空,则检查记录时间和现在当前时间的差值。如果时间差值大于24则清除用户表中err_time和err_count的字段值,并进行账户密码校验。若小于24小时,则检查err_count的值是否大于等于3,大于等于3的时候提示账户冻结,禁止登陆,小于3的时候看账户密码的校验返回值,确定登陆成功还是失败。3)若err_time为空,则执行账户密码的校验。
直接上代码。原生的tp,laravel改造下直接就可以用了
require("conn.php");
require("function.php");
session_start();
//用户登录验证,登录次数>=3,账户冻结;24小时自动解冻
$uid=guolv(trim($_POST['uid']));
$pass=g
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
