本文操作环境:windows7系统、php7.1版、dell g3电脑
php 怎么判断错误次数?
php 结合redis 限制用户登入 密码错误次数
就用原生的面向过程写了个小dome ,数据库信息用数组代替了.
整体思路是这样的,具体怎么用,具体的自己放框架里改改优化一下就 ok的。
php代码:
<?php/** * created by phpstorm. * user: rjj * date: 2017/7/2 * time: 20:58 *///实例化redis数据库$redis= new redis();$redis->connect('127.0.0.1', 6379);//模拟数据库信息$userinfo = array('xxx'=>'000000','yyy'=>'111111');//接受用户输入信息$name = $_post['username'];$passwd = $_post['userpasswd'];//判断是否已经错误三次if($redis->get($name) >=3){ //以错三次 为该用户设置操作等待时间 60秒 $redis->expire($name,60); echo '请您1分钟后在登入吧';exit();}//判断用户是否存在if(!array_key_exists($name,$userinfo)){ echo '用户名不存在'; exit();}//判断密码是否正确if($passwd != $userinfo[$name]){ //当前错误不是第一次 将错误次数加 1 if($redis->exists($name)){ $redis->incr($name); }else{ //第一次错误将错误信息存入redis中 $redis->set($name,1); } echo '密码不正确'; exit();}else{ echo '成功';}
html代码
<!doctype html><html><head> <meta charset="utf-8"> <title>错误限制</title></head><body><form method="post" action="redislogin.php"> <input type="text" name="username" placeholder="请输入用户名"> <input type="text" name="userpasswd" placeholder="请输入密码"> <button type="submit">登入</button></form></body></html>
推荐学习:《php视频教程》
以上就是php 怎么判断错误次数的详细内容。
