可能重复:
Preventing Brute Force Logins on Websites
Limiting user login attempts in PHP
我想知道在登录表单中阻止暴力破解的最佳方法是什么。 意思是如何保存尝试次数和时间限制?会议会是一个好主意吗?
感谢。
答案 0 :(得分:2)
您可以自动为每个访问您网站的人启动会话。然后在会话变量中,存储登录尝试次数以及是否被阻止,以及解锁时间。
处理登录时,如果密码和用户名不匹配且时间限制尚未到期且已超过尝试次数,则向用户显示一条消息。
您的数据库表可能如下所示:
sessions
==========
id
num_tries //Number of login attemps
block_expires //If they are blocked, when they can be unblocked.
此方法假定用户将采用会话cookie。他们可以通过清除他们的cookie来轻松解决这个问题。
为了减轻某些问题,你可以在这个过程中建立一些智慧:
答案 1 :(得分:0)
讨论here。
大家一致认为,您可以为每个尝试创建一个失败尝试的SQL表以及时间戳。然后,您将在失败的登录时查询,并检查每次使用cookie或查询的尝试次数和时间戳。