显然,某种限制登录尝试的机制是安全必需的.虽然我喜欢尝试之间指数增加的时间概念,但我不确定存储信息.我也对替代解决方案感兴趣,最好不要包括验证码.
我猜测由于阻止cookie或自动清除cookie而无法使用cookie,但是会话会有效吗?或者是否必须存储在数据库中?不知道可以使用什么方法,所以我根本不知道什么是实用的.
在users表'failed_login_attempts'和'failed_login_time'中使用一些列.第一个按登录失败递增,并在成功登录时重置.第二个允许您将当前时间与上次失败时间进行比较.
您的代码可以在数据库中使用此数据来确定等待锁定用户的时间,允许登录之间的时间等
假设谷歌已经做了必要的可用性测试(不是不公平的假设)并且决定使用验证码,我建议一起使用它们.
当我是一个真正的用户并且忘记了我的密码时,增加超时是令人沮丧的(有这么多网站及其相关密码发生了很多,特别是对我而言)