登录安全性 一天内连续输入密码错误3次,第二天才能登录(过了当天凌晨24点),实现原理
来源:互联网 发布:网络女作家 编辑:程序博客网 时间:2024/04/29 13:26
登录安全性 一天内连续输入密码错误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){ //解锁时间如果到了,清除以前的记录数,还原0 if($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()的字段。
0 0
- 登录安全性 一天内连续输入密码错误3次,第二天才能登录(过了当天凌晨24点),实现原理
- 登录安全性 一天内连续输入密码错误3次,第二天才能登录(过了当天凌晨24点),实现原理
- 安全登录一天内连续输入密码错误3次,第二天才能登录
- 连续输入密码错误3次,第二天才能登录
- 连续输入密码错误3次,第二天才能登录
- 连续输入密码错误3次,第二天才能登录
- 连续输入密码错误3次,第二天才能登录
- 连续输入密码错误3次,第二天才能登录
- 连续输入密码错误3次,第二天才能登录
- 连续输入密码错误3次,第二天才能登录
- 密码错误3次,30分钟内无法登录源码
- discuz取消登录密码连续错误限制
- 随书笔记之一分钟内连续登录超过3次就锁定账号
- SSH远程登录需要密码输入错误
- redis安全性--登录密码设置
- 模拟ATM取款机的三次密码校验,当天达到3次输入密码错误, 则提示“账号被冻结”,其他情况则提示还有多少次输入机会
- Hadoop-实现集群内免密码登录
- ubuntu输入了正确的用户名密码但是无法登录(环境变量设置错误所以不能登录系统)
- 《技术人创业攻略》-用技术改变世界!
- PAT乙级:1006. 换个格式输出整数 (Java)
- Codeforces Round #366 (Div. 2) C. Thor(模拟)
- 在PyCharm中运行django 项目
- JAVAIO一次写入任意字符固定套路
- 登录安全性 一天内连续输入密码错误3次,第二天才能登录(过了当天凌晨24点),实现原理
- 欧拉函数PHI
- 用户登录记住密码功能(记住登陆状态),下次不需要重新登录,注意安全问题!实现原理
- 字符串匹配-扩展KMP(Extend-KMP)
- Java与云计算有什么关系呢
- 最大公约数和最小公倍数
- 邮箱找回密码功能
- PHP中的正则表达式
- Inkscape tutorial: Shapes