php 怎么判断错误次数
php判断错误次数的实现方法:1、实例化redis数据库;2、模拟数据库信息;3、接受用户输入信息;4、判断信息输入错误的次数即可。
本文操作环境: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视频教程》