|
|
1
1
解决这个问题的最简单方法是在重置数据库时更改cookie名称。cookie名称应该在config/initializers/session\u store.rb中
您也可以更改机密,但如果用户使用旧cookie请求站点,则可能会产生错误。 |
|
|
2
4
如果要滚动自己的身份验证,请改为尝试此操作:将“token”字符串字段添加到用户表中。当有人登录时,将此令牌设置为一组随机的数字和字母,然后传递 那个 现在当一个用户访问一个页面时,他们的帐户被这个散列而不是他们的用户id查找,其值是这个散列很难猜测,而且永远不会重复。当你重置数据库时,你的用户id实际上是重复的,这导致人们以对方的身份登录。 更新 @shingara说的对,cookie商店已经处理了安全部分,我错了。因此,用户id混淆是一次性的,因为您重置了数据库。除非再次重置数据库,否则在生产环境中不会遇到此问题。如果重置是 有可能,然后仍然按照我的建议创建令牌。否则,你就没事了。 |
|
|
3
0
另一种情况是,您可以添加会话,即用户使用唯一密钥的哈希值。当您检查会话时,您将获得用户id并检查用户令牌是否相同。如果没有,则用户未经授权。 |
|
|
4
0
谢谢你的回复。他们都以某种方式回答了我的问题:是的,我的设置(以及在清除用户之后不设置新的会话密钥)创建了一个安全漏洞。 很多Rails教程都支持这种设置,但没有提到这样一个事实,即您只需要将cookie作为另一个用户进行完全身份验证。
总之,我问这个问题是因为我找不到任何东西来讨论
|
|
|
Michael · 某些Windows客户端上的命名管道安全问题 2 年前 |
|
|
adamency · 是否可以从Go二进制文件的源代码中检索字符串? 2 年前 |
|
|
AlboSimo · PayPal Api密钥安全 2 年前 |