好的,如果我有一个登录数据库:
$XPath = '//Order[@*]'
尝试标记每个用户登录时尝试的次数。因此,用户1尝试登录4次,用户2尝试登录2次。
我想知道是否有一个方法*我可以添加到我的登录数据库,这会将所有用户尝试重置为0?所以在重置之后,表格看起来像这样:
id | email | pass | attempts
----------------------------
1 | "" | "" | 4
2 | "" | "" | 2
谢谢!
答案 0 :(得分:0)
您可以按照here
所述使用EVENTe.g。
CREATE EVENT clear_event
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 15 MINUTE
DO
UPDATE myschema.the_table SET attempts = 0;
答案 1 :(得分:0)
这样做的目的是防止蛮力攻击吗? 如果是这样,那么有比你提出的更好的方法。
此StackOverflow帖子提供了关于阻止它的方法的信息,并提到您可以提出一个“简单”问题,以确保用户不是机器人。
但是,如果您不想要这样的东西,并且您更多地设置记录某人输入错误详细信息的次数,那么在您的PHP登录脚本中,您可以复制如下内容。
if($UserInput == $Password){
//let the user in, they're correct
}
else{
//Relay Incorrect password text
if($i > 4) //So 5 tries at an incorrect password
{
//Disable the button for x unix time
}
else
{
$i++; //Add one to the count
}
}