为网站实施“记住我”的最佳方式是什么?
我希望我的网站有一个复选框,用户可以点击这个复选框,以便他们每次访问我的网站时都不必登录。 我知道我需要在他们的计算机上存储一个cookie来实现这个功能,但是该cookie中应该包含哪些内容?
另外,是否还有一些常见的错误需要注意保持这个cookie不会出现安全漏洞,在保留“记住我”功能的同时可以避免这种安全漏洞?
改进了持久登录Cookie最佳实践
您可以使用这里描述的这种策略作为最佳实践(2006)或此处描述的更新策略(2015):
这种方法提供纵深防御。 如果有人设法泄露数据库表,它不会给攻击者冒充用户模拟门户。
我会存储一个用户ID和一个令牌。 当用户回到网站时,将这两条信息与数据库条目等持久性信息进行比较。
至于安全性,只是不要在那里放置任何可以让别人修改cookie来获得额外好处的东西。 例如,不要存储他们的用户组或他们的密码。 任何可以修改以避免安全性的事物都不应该存储在cookie中。
存储他们的UserId和一个RememberMeToken。 当他们登录时记住我检查了生成一个新的RememberMeToken(这使任何其他标记的机器都记住我)。
当他们返回时,通过记住我的标记来查找它们,并确保UserId匹配。
链接地址: http://www.djcxy.com/p/21665.html上一篇: What is the best way to implement "remember me" for a website?
下一篇: How to test my Ruby on Rails website against brute force properly?