我希望我的网站上有一个复选框,用户可以单击它,以便他们不必在每次访问我的网站时都登录。我知道我需要在他们的计算机上存储cookie才能实现此目的,但是该cookie中应该包含什么?
此外,是否还有一些常见的错误需要提防,以防止此cookie出现安全漏洞,而在仍然提供“记住我”功能的情况下可以避免该错误?
我希望我的网站上有一个复选框,用户可以单击它,以便他们不必在每次访问我的网站时都登录。我知道我需要在他们的计算机上存储cookie才能实现此目的,...
我将存储用户ID和令牌。当用户返回该站点时,请将这两条信息与诸如数据库条目之类的持久性内容进行比较。
关于安全性,请不要在其中放任何东西,以免有人修改Cookie以获得额外的好处。例如,不要存储其用户组或密码。不能修改任何会破坏您安全性的内容都不应存储在Cookie中。
存储他们的UserId和RememberMeToken。当他们使用“记住我”身份登录时,将生成一个新的“ RememberMeToken”(使其他所有标记为“记住我”的计算机无效)。
当它们返回时,通过“记住我”令牌对其进行查找,并确保UserId匹配。
我自己调查持续性会话,我发现这根本不值得承担安全风险。如果绝对必要,请使用它,但是您应该考虑仅通过弱认证的会话,并为可能对攻击者有价值的任何事情强制进行新的登录。
原因当然是包含持久性会话的cookie很容易被盗。