php限制错误数据提交次数
各位大侠,请问如何在一个网站登录系统中,添加一段代码,使得一个用户名在输错三次密码之后便限制其登录,我是个菜鸟,麻烦把完整的代码写一下,谢了...
各位大侠,请问如何在一个网站登录系统中,添加一段代码,使得一个用户名在输错三次密码之后便限制其登录,我是个菜鸟,麻烦把完整的代码写一下,谢了
展开
3个回答
展开全部
实现的方法有很多.
我个人会使用session.
在第一次错误的时候
$_SESSION['login_error'] = 1;
第二次进行判断
if(!empty($_SESSION['login_error'])){
$_SESSION['login_error'] = $_SESSION['login_error']++;
}
以此类推
等到第三次的时候,就不让他输入了
如果输入正确之后,你要把这个session清空
我个人会使用session.
在第一次错误的时候
$_SESSION['login_error'] = 1;
第二次进行判断
if(!empty($_SESSION['login_error'])){
$_SESSION['login_error'] = $_SESSION['login_error']++;
}
以此类推
等到第三次的时候,就不让他输入了
如果输入正确之后,你要把这个session清空
追问
我刚接触这个,您能不能把完整的代码写一下啊,受累了,我再追加点分
追答
(我不知道你代码是怎么写的,不可能跟你现在写的一模一样.只能写出核心)
1.页面需要先session_start();
2.点击登陆的时候做判断,如果确定用户输入的密码是错误的
if(用户的密码是错误的){
if(!empty($_SESSION['login_error'])){
if($_SESSION['login_error'] == 3){
exit("这里已经是第三次了");
}else{
$_SESSION['login_error'] = $_SESSION['login_error']++;
}
}else{
$_SESSION['login_error'] = 1;
}
}
以上代码为手写... 可能会有错误.
展开全部
添加一个表 user_login_error ,字段 ip,time ip是15位字符串 varchar time 11位int
在登录错误提示前面加入 插入数据库数据代码 插入user_login_error 表中 ip,和time
用户验证代码签名加入 查询数据库数据代码
'SELECT COUNT() FROM `user_login_error` WHERE `ip`='.SERVER['REMOTE_ADDR'].' and `time`>'.time()-30*60;
在登录错误提示前面加入 插入数据库数据代码 插入user_login_error 表中 ip,和time
用户验证代码签名加入 查询数据库数据代码
'SELECT COUNT() FROM `user_login_error` WHERE `ip`='.SERVER['REMOTE_ADDR'].' and `time`>'.time()-30*60;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询