2

request.response.set_cookie(..)与使用and相比,我不明白设置未加密会话工厂以设置 cookie 之间的区别request.cookies[key]

4

1 回答 1

7

UnencryptedCookieSessionFactory管理一个cookie,即已签名。这意味着客户端可以读取1 cookie 中的内容,但不能更改cookie 中的值。

如果直接使用 设置cookie response.set_cookie(),客户端不仅可以读取cookie,还可以更改cookie的值,您将无法检测到内容被篡改。

此外,UnencryptedCookieSessionFactory让我们存储任何 python 结构,它会负责对这些结构进行编码以适应 cookie 的限制;您必须手动使用.set_cookie().

1您必须对 cookie 进行 base64 解码,然后使用pickle模块对内容进行解码。因为 cookie 是经过加密签名的,所以通常适用的安全问题得到了pickle缓解。

于 2013-01-26T17:15:28.793 回答