gpt4 book ai didi

ruby - 使用 Rack::Session::Pool 存储的 cookie 的 secret

转载 作者:太空宇宙 更新时间:2023-11-03 16:05:31 27 4
gpt4 key购买 nike

source来自 Rack::Session::Cookie 包含以下关于不设置密码来检查 cookie 完整性的警告:

No secret option provided to Rack::Session::Cookie. This poses a security threat. It is strongly recommended that you provide a secret to prevent exploits that may be possible from crafted cookies.

当使用 Rack::Session::Cookie 模块时,您可以用这种方式设置一个 secret :

use Rack::Session::Cookie, secret: 'change_me'

但是,我正在使用 Rack::Session::Pool,它“提供简单的基于 cookie 的 session 管理”。我假设我还需要为它提供一个 secret ,但找不到相关的例子。源代码/文档也不是很有帮助。有人知道这是否需要完成吗?如果需要,将如何完成?

最佳答案

如果你看一下this question and answer关于 CookiePool 之间的区别,它指出只有“id”(实际上是 SID )保存在 cookie 中,其他所有内容都保存在内存中.如果数据在内存中,那么生成 HMAC 的要求比存储在 cookie 中的要求低很多,如果您真的需要它,那么我想它已经留给您了。

我看过the source , 和 Pool不寻找作为选项传递的 secret ,而是寻找 Cookie

我相信通过阅读 Pool 的源代码,它每次都会生成一个唯一的 SID,因此您的数据中没有任何键/id 会暴露。

作为旁注,如果您打算选择使用 cookie,encrypt them .

关于ruby - 使用 Rack::Session::Pool 存储的 cookie 的 secret ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14837255/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com