登录安全性 一天内连续输入密码错误3次,第二天才能登录(过了当天凌晨24点)下面我们先在数据库中建立一个试验表,id,用户名username,密码pwd,次数num,时间time(date);这个功能主要在数据库中分3中情况判断1:解锁时间到了,清除数据库以前的记录数,次数值还原02:在解锁时间内,但是不良记录已经达到3次,不能登3:在解锁时间内,并且不良记录未满3次,可以登录;前面登录表单直接跳转至下方法:public function 方法(){$admin=$_POST['username'];$password=$_POST['pwd'];//接收值//echo $admin,$password;$model=M('表名');$info=$model->where("username='$admin'")->find();if($info){//获取当前时间$now=date("Y-m-d");//以下是试验测试// $now=date("Y-m-d",strtotime("-1 day")); // echo "昨天:",date("Y-m-d",strtotime("-1 day")), "
";  die;//echo "".strtotime($info['time'])."";die;//当前“时间戳”减去数据库里的“时间戳”$cha=strtotime($now)-strtotime($info['time']);//echo $cha;die;//当已经”解锁“时if($cha>=86400){//解锁时间如果到了,清除以前的记录数,还原0if($info['num']!='0'){$data['num']='0';$arr=$model->where("username='$admin'")->save($data);}else{$arr=1;}if($arr){ //如果密码争取则显示成功跳转页面if($info['pwd']==$password){$this->success("登陆成功!","返回路径");}else{//如果密码错了则找到对应的用户名$info1=$model->where("username='$admin'")->find();$data['time']=date("Y-m-d");//使数据库里面的”num+1“$data['num']=$info1['num']+1;$times=3-$data['num'];$model->where("username='$admin'")->save($data);if($times>0){$this->error("密码错误!你还剩".$times."次机会");} die;}}}//在解锁时间内,但是不良记录已经达到3次,也是不可以登录的;if($cha<86400 && $info['num']==3){$this->error("你的账号已锁定,请明天登录!");die;}//在解锁时间内,并且不良记录未满3次,可以登录;if($cha<86400 && $info['num']<3){if($info['pwd']==$password){$this->success("登陆成功!","返回路径");}else{//如果密码错了则找到对应的用户名$info1=$model->where("username='$admin'")->find();$data['time']=date("Y-m-d");//使数据库里面的”num+1“$data['num']=$info1['num']+1;$times=3-$data['num'];$model->where("username='$admin'")->save($data);if($times>0){$this->error("密码错误!你还剩".$times."次机会");}else{$this->error("密码错误次数已达3次,账号即将锁定!");}}}}else{echo "用户名错误!";}}可能会遇到的问题,数据库时间info['time']如何获取?关于数据库的时间字段,可以给一个初始值,比如2001-01-01等等,在下面时间获取时会更新time()的字段。

登录安全性 一天内连续输入密码错误3次,第二天才能登录(过了当天凌晨24点),实现原理相关推荐

  1. 连续输入密码错误3次,第二天才能登录

    登录安全性 一天内连续输入密码错误3次,第二天才能登录(过了当天凌晨24点) 下面我们先在数据库中建立一个试验表,id,用户名username,密码pwd,次数num,时间time(date): 这个 ...

  2. oracle的system账户用normal模式登录失败,提示用户名或密码错误,但是如果用sysdba登录,即使不输入密码,或者密码错误也能登录成功。

    本人win7的操作系统,装的shiftoracle 11g,问题就是我安装成功后,单击Database Control-orcl项进入企业管理器,进入https://localhost:1158/em ...

  3. 如何设计登录接口,十分钟内连续登录5次失败,需要等待30分钟才能登录

    正常业务里的实现不能这样搞,合适的方法是走缓存,比如使用redis,我当时就只有原生Java API能用,请大家把这个当成算法题来看待 常言道:字数越短问题越大.   今天阿里的面试官小哥哥让我实现一 ...

  4. 11月12号 用户登录输入密码错误达到指定次数后,锁定账户 004

    用户表里添加两个属性 连续密码输错次数private Integer loginFailCount;/** 登录失败禁用时间 */ private Date missDate; / 如果登录错误次数大 ...

  5. 一开机未通过输入密码登录,就出现用户名或密码错误??

    遇到的问题: 一开机未通过输入密码登录,就出现用户名或密码错误但是我开机时显示的是一个叫做Admin的用户,我必须切换用户输入用户名为Administrator再键入密码,感觉太麻烦了 详细:我的用户 ...

  6. 解决问题:HTTP 错误 401.1 - 未授权:登录失败【转】

    解决问题:HTTP 错误 401.1 - 未授权:登录失败 HTTP 错误 401.1 - 未授权:登录失败 Internet 信息服务 -----------解决这个问题,折磨了两天,终于搞定了,首 ...

  7. 前端登录页面 (背景换肤 + 密码错误提示 + 密码隐藏切换)

    效果展示: 背景切换: 密码提示:(要求密码位数为6-16之间,可自行改变) 代码部分: <!DOCTYPE html> <html lang="en"> ...

  8. 最近七天内连续三天活跃用户数

    最近七天内连续三天活跃用户数 首先,感谢大华公司给的面试机会,非常感谢~! 进入正题,建表: create table uv_detail_daycount( mid int )PARTITIONED ...

  9. mysql错误18456_SQL Server 2012 sa用户登录错误18456的解决方法

    最近想研究下SQL SERVER2012 Enterprise版本的数据库,听说功能很强大.我是在win7上安装的,安装的过程很顺利,我在用"Windows 身份验证"时,一切OK ...

最新文章

  1. Windows 2008 部署服务之Windows 7 应答文件创建
  2. Microsoft Visual C++ 14.0 is required
  3. java应用高内存占用
  4. ios开发返回按钮消失_iOS开发之自定义导航栏返回按钮右滑返回手势失效的解决...
  5. 结合webpack配置_前端 Webpack 工程化的最佳实践
  6. 等差数列划分Python解法
  7. 文治者必有武备不然长大了挨欺负_【博古斋·六月春拍】人文事者必有武备
  8. 高性能、高可用平台架构的演变过程
  9. N元语法模型的数据稀疏问题解决方法之一:Good-Turing平滑
  10. 项目合作| 视频监控解决隧道洗车线的安全问题
  11. react中对于key值的理解
  12. 使用servlet技术与前端进行交互,出现乱码的解决方案,创建一个类,如下:
  13. 解决jsp页面引入百度编辑器,出现xss漏洞
  14. 关于前几天的招聘,我说几点
  15. 回首过去,展望未来。
  16. oracle 查询本年12月,Oracle查询1-12月数据
  17. 如何提高团队管理能力3
  18. Oracle_Linux of Creation hr user for Oracle 18c oracle 练习的账户(hr user)
  19. 在angular 项目中使用 `npm run build` 出现 `* exceeded maximum budget` 警告或错误
  20. 数据结构课程设计报告

热门文章

  1. 如何恢复错删了本机计算机器,如何彻底删除粉碎电脑文件?如何恢复电脑丢失文件?推荐这几款数据管理工具!...
  2. Lottie--前端动画效果--UI输出json格式--lottie动画在JavaScript中使用
  3. [Python从零到壹] 三十八.图像处理基础篇之图像几何变换(平移缩放旋转)
  4. 七种回归分析方法,个 个 经 典
  5. 尼古拉特斯拉做了哪些贡献?
  6. Virtual PC 修改虚拟机的BIOS
  7. 测 试 基 础 知 识
  8. InfiniteScroll 无限滚动组件的使用
  9. PHP使用ZipArchive对文件进行批量打包下载
  10. 数据挖掘:基于关联挖掘的商品销售分析