为网站实施“记住我”的最佳方法是什么? [关闭]

问题描述 投票:509回答:4

我希望我的网站上有一个复选框,用户可以单击它,以便他们不必在每次访问我的网站时都登录。我知道我需要在他们的计算机上存储cookie才能实现此目的,但是该cookie中应该包含什么?

此外,是否还有一些常见的错误需要提防,以防止此cookie出现安全漏洞,而在仍然提供“记住我”功能的情况下可以避免该错误?

我希望我的网站上有一个复选框,用户可以单击它,以便他们不必在每次访问我的网站时都登录。我知道我需要在他们的计算机上存储cookie才能实现此目的,...

security cookies remember-me
4个回答
534
投票

改进的永久登录Cookie最佳做法


9
投票

我将存储用户ID和令牌。当用户返回该站点时,请将这两条信息与诸如数据库条目之类的持久性内容进行比较。

关于安全性,请不要在其中放任何东西,以免有人修改Cookie以获得额外的好处。例如,不要存储其用户组或密码。不能修改任何会破坏您安全性的内容都不应存储在Cookie中。


8
投票

存储他们的UserId和RememberMeToken。当他们使用“记住我”身份登录时,将生成一个新的“ RememberMeToken”(使其他所有标记为“记住我”的计算机无效)。

当它们返回时,通过“记住我”令牌对其进行查找,并确保UserId匹配。


4
投票

我自己调查持续性会话,我发现这根本不值得承担安全风险。如果绝对必要,请使用它,但是您应该考虑仅通过弱认证的会话,并为可能对攻击者有价值的任何事情强制进行新的登录。

原因当然是包含持久性会话的cookie很容易被盗。

© www.soinside.com 2019 - 2024. All rights reserved.