我有一个登录表单,我想检查失败的登录尝试并根据尝试采取适当的措施。
我是这样想的:
连续失败尝试之间的最短允许时间为 1 秒。
当尝试失败时,首先删除数据库中 1 秒前发生的旧条目。
如果大于 1 秒,则在特定次数的尝试后(比如说 3 次),向用户显示一条消息,询问他是否要重置密码或重试(类似于 facebook)。
如果最后一次登录尝试发生在不到 1 秒内,则阻止该 IP 地址 15 分钟。
我已经浏览了该网站上的其他帖子,并且我看到人们使用不同的方法,例如显示验证码或使用 cookie 和其他方法。
所以我的问题是解决这个问题的最佳方法(或标准方法)是什么?