Cookies而不是会话?

我已阅读和了解的会议是,他们不是真正可靠的会议id劫持和东西。 所以我决定我不会在我的项目中使用会话,我宁愿随意使用普通的cookies并希望获得最佳效果。

所以基本上我所设置的就像一个会议,但希望更难以破解。 不幸的是,我似乎无法让它难以破解。 所以基本上我认为这是更安全的问题,而不是cookies或会话之间的选择,但我似乎无法在任何直接文本中找到它。

我应该在会话cookie中散列什么,以及如何? 我读过哈希算法可能会发生碰撞,而攻击者可以创建一个可能与cookie中实际发生碰撞的字符串之间的短暂时间,即使它可能不相同。 我想我想问什么是将这些信息保存在cookie中的正确方式,实际上我应该在那里存储哪些信息?

我知道,基本上用httpOnly攻击者不应该抓住一个cookie,但我想这个项目可能并可能不会使用SSL所以有旧的攻击方法可用。 我知道我在这里试图用棍棒和石头建造一座摩天大楼,但问还是值得一试。


完全避开会话的问题在于某些值不应该由用户设置。 例如,如果您的会话变量is_logged_in仅在用户成功进行身份验证时设置,那么使用cookie安全地实现此操作会非常困难。 问题在于用户可以设置自己的cookie(因为它来自客户端),并且无需密码即可自行登录。

现在,您可以使用这种方法,将用户的凭据存储在cookie中,并为每个请求进行身份验证,但也会遇到许多问题。 首先,限制以纯文本向服务器发送凭证的频率是一个好主意; 如果你使用会话,那么你只发送一次。 其次,这种方式意味着密码未加密地存储在本地计算机上(网站的存储密码通常用主密码**加密)。 所以,这种方法可能会恶化用户的整体安全性。

您可以通过登录来缓解这些问题,并让您的登录系统设置加密的Cookie(使用对称加密)。 这些将被解密和验证每个请求,并且可以安全地传输每个请求,并且更安全地存储在本地计算机cookie上。 但是,这里增加了相当多的复杂性。

因此,我倾向于建议您坚持使用会话,但要对出现的任何安全问题进行必要的阅读。


**最近发现Chrome以明文方式存储保存的密码,无法使用主密码对其进行加密(请参见此处)。 这引发了一场关于某些安全功能是否仅仅是“影院”(即只看起来安全而没有实际增加有形的额外安全性)的在线辩论。


实际上,你想用cookie替换cookie(来自会话)。 没有道理!

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

上一篇: Cookies instead of sessions?

下一篇: Can a session cookie be sufficient for authentication?