我已经建立了一个登录系统。如果超出每个 IP 或每个用户名的最大失败尝试配额,登录页面会要求您解决验证码,直到您登录。我想在用户成功登录时删除所有记录(删除具有您的 IP 的记录或您的用户名)。然而,这有一个缺陷。
假设这是attempts
一张桌子。
IP | Username
----------+---------
127.0.0.1 | jeff
----------+---------
127.0.0.1 | jeff
----------+---------
127.0.0.1 | jeff
----------+---------
127.0.0.1 | jeff
----------+---------
现在,假设客户端127.0.0.1
使用用户名登录atwood
。现在,没有更多关于他的记录:他可以继续对其他用户进行暴力破解,而无需处理验证码。
如何防止这种解决方法?