首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >限制(和记录)登录尝试的最佳方法

限制(和记录)登录尝试的最佳方法
EN

Stack Overflow用户
提问于 2009-02-24 05:09:45
回答 8查看 16.1K关注 0票数 24

显然,某种限制登录尝试的机制是安全必需的。虽然我喜欢两次尝试之间的时间呈指数级增长的概念,但我不确定是否可以存储信息。我也对其他解决方案感兴趣,最好不要包括验证码。

我猜cookie不会工作,因为阻止cookie或自动清除它们,但会话可以工作吗?或者必须将其存储在数据库中?不知道可以/正在使用什么方法,所以我根本不知道什么方法是实用的。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-02-24 05:18:37

使用users表'failed_login_attempts‘和'failed_login_time’中的一些列。第一个参数在每次登录失败时递增,并在成功登录时重置。第二个允许您将当前时间与上次失败的时间进行比较。

您的代码可以在数据库中使用此数据来确定锁定用户的等待时间、允许的登录间隔时间等。

票数 20
EN

Stack Overflow用户

发布于 2009-02-24 05:16:47

假设谷歌已经做了必要的可用性测试(不是一个不公平的假设),并决定使用验证码,我建议使用它们。

当我是一个真正的用户并忘记了我的密码时,增加超时是令人沮丧的(有如此多的网站及其相关的密码经常发生,特别是对我来说)

票数 7
EN

Stack Overflow用户

发布于 2009-02-24 05:17:03

将尝试存储在数据库中是最好的解决方案IMHO,因为它为您提供了安全违规尝试的审计记录。这可能是也可能不是法律要求,具体取决于您的应用程序。

通过记录所有恶意尝试,您还可以收集更高级别的信息,例如,如果请求来自一个IP地址(即某人/某物正在尝试暴力破解攻击),则您可以阻止该IP地址。这可能是非常有用的信息。

一旦你确定了一个阈值,为什么不强制他们请求将电子邮件发送到他们的电子邮件地址(例如,类似于“我忘记了我的密码”),或者你可以使用验证码方法。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/580534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档