我希望我的网站上有一个复选框,用户可以单击它,这样他们每次访问我的网站时都不必登录。我知道我需要在他们的计算机上存储cookie才能实现此目的,但是该cookie中应包含什么?
另外,是否有一些常见的错误需要提防,以防止此Cookie出现安全漏洞,而在仍然提供“记住我”功能的情况下可以避免该错误?
5
检查stackoverflow.com/questions/549/…(最佳答案的第二部分)
—
Frosty Z
如果您使用的是ASP.NET,请查看codeproject.com/Articles/779844/Remember-Me
—
Believe2014 2014年
有过在安全SE〜一些非常有用的信息security.stackexchange.com/questions/19676/...
—
b1nary.atr0phy
splattne当前接受的答案过于复杂。从随机来源创建一个+16字节的令牌,对其进行哈希处理,然后将哈希+帐户ID保存在数据库中。然后以HTTPS + httpOnly cookie(因此Javascript无法访问/窃取)将令牌发送给用户(base64编码)。这样,没有人能猜出令牌或以无效的猜测使人们登出,但是即使您的数据库被黑客入侵,也没有人可以使用数据库中的令牌(它们是经过哈希处理的)。因此,只有原始客户端(或以某种方式从浏览器商店窃取令牌的人)才能使用它。
—
Xeoncross