在cookie中存储(散列)密码是否安全?

我已阅读了一些关于SO的文章和问题(例如这里),它们表示您不应将用户的密码存储在cookie中。 如果密码被腌渍和散列,为什么这种不安全?

特别是,为什么它比使用会话更安全,通常会提出替代方案? 如果用户希望保持登录状态,那么肯定这个新的cookie(带有会话ID /散列)与使用用户密码的cookie一样安全? 如果cookie在某些方面“被盗”,攻击者可以以相同的方式作为用户登录。

编辑 :问题的主要症结在于关于用户保持登录状态的部分,即通过“记住我?” 复选框。 在这种情况下,当然只有一个会话?


会话通常在某种程度上与IP地址相关,有些可以防止会话被盗用。

除此之外,会话ID不包含任何个人信息; 你的密码,甚至腌制和散列。 可能会重复使用的密码,可能会被重复使用; 会话ID不能。 会话结束后,结束,您需要新的会话ID才能够再次模拟用户。


通过将哈希密码+ salt放入cookie中,您可以:

  • 打开一个无限的暴力矢量
  • 允许任何人复制和使用cookie(它总是允许访问;而会话在一段时间内会这样做)。
  • 如果哈希方案变得相关,则更难以改变哈希方案
  • 此外,您通常需要存储其他内容,以识别用户(如他们的用户ID,以便查找他们的密码并匹配它)。 这可能会导致其他模糊的问题。

    所以你最好只用会话ID方法。


    除其他区别外,如果存储了会话,则您拥有这一会话。 如果使用密码,您将从现在开始拥有该用户的所有会话。

    链接地址: http://www.djcxy.com/p/23653.html

    上一篇: Is it safe to store (hashed) passwords in a cookie?

    下一篇: How to pass variables and data from PHP to JavaScript?