php 怎么判断错误次数
短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑
php 怎么判断错误次数?
php 结合redis 限制用户登入 密码错误次数
就用原生的面向过程写了个小dome ,数据库信息用数组代替了.
整体思路是这样的,具体怎么用,具体的自己放框架里改改优化一下就 ok的。
php代码:
<?php
//实例化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>
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341