Edd*_*eyo 499 security cookies remember-me
我希望我的网站有一个用户可以点击的复选框,这样他们每次访问我的网站时都不必登录.我知道我需要在他们的计算机上存储一个cookie来实现它,但该cookie中应包含哪些内容?
此外,是否存在常见错误,需要注意保持此cookie不会出现安全漏洞,这可以避免,同时仍然提供"记住我"功能?
spl*_*tne 524
您可以使用此处描述的此策略作为最佳实践(2006)或此处描述的更新策略(2015):
这种方法提供了纵深防御.如果有人设法泄漏数据库表,则不会让攻击者为冒充用户打开大门.
我会存储用户ID和令牌.当用户回到站点时,将这两个信息与数据库条目之类的持久性进行比较.
至于安全性,只是不要在其中放置任何允许某人修改cookie以获得额外好处的东西.例如,不要存储其用户组或密码.任何可以修改以避免安全的内容都不应存储在cookie中.
存储他们的UserId和RememberMeToken.当他们登录时记住我检查生成一个新的RememberMeToken(使任何其他标记的机器无效,记住我).
当他们返回时通过记住我的令牌查找它们并确保UserId匹配.
小智 5
我自己调查持久会话发现,根本不值得冒安全风险。如果绝对必要,请使用它,但您应该考虑这样的会话仅经过弱身份验证,并强制对可能对攻击者有价值的任何内容进行新登录。
当然,原因是包含持久会话的 cookie 很容易被盗。
窃取 cookie 的 4 种方法(摘自Jens Roland在页面上@splattne基于他的回答的评论):
| 归档时间: |
|
| 查看次数: |
271400 次 |
| 最近记录: |