【发布时间】:2015-05-02 10:10:01
【问题描述】:
我使用 Node 库 https://github.com/expressjs/session 并注意到它需要指定一个秘密来签署会话 ID cookie。
如果只是将会话 ID 存储在 cookie 中,而不是任何数据,那么签署 cookie 有什么用?
我的理由是,如果有人想修改会话 ID cookie,那么如果会话 ID 足够长以防止暴力攻击,那就没问题了。我错过了什么吗?
【问题讨论】:
-
这可能会有所帮助:stackoverflow.com/a/3240420/406249
-
@NicolasMcCurdy 谢谢!读起来很有趣,但这个问题似乎与包含数据的会话 cookie 有关,因此不需要服务器端存储。为此需要一个签名的 cookie 是有道理的,但在我的情况下,cookie 只是存储在服务器上的数据的标识符,因此它不容易出现同样的问题。
-
也许是为了防止其他人在用户浏览器中创建虚假会话cookie(通过XSS或类似的东西)。