gpt4 book ai didi

python - Flask session ,cookie 存储在哪里?

转载 作者:太空狗 更新时间:2023-10-29 21:39:11 26 4
gpt4 key购买 nike

我正在学习 Flask,想了解 session 的工作原理。显然,服务器在客户端浏览器上存储了一个签名的 cookie。我已经使用

完成了这个过程
sessions['mycookie'] = 'mycookievalue'

但是我无法在浏览器上找到 cookie。我通常使用 chrome 开发人员工具并运行命令在浏览器上列出 cookie:

document.cookie

这在我设置 cookie 时有效,但当我通过 session 设置它时没有任何反应。

最佳答案

Flask session cookie 具有 httponly flag设置,使其在 JavaScript 中不可见。

否则它是一个普通的常规 cookie,因此它仍存储在浏览器 cookie 存储区中;您应该仍然可以在浏览器的开发人员工具中看到它。

如果您希望能够从 JavaScript 代码访问 cookie 值,则可以将 SESSION_COOKIE_HTTPONLY 选项设置为 False。来自Builtin Configuration Values section :

SESSION_COOKIE_HTTPONLY
controls if the cookie should be set with the httponly flag. Defaults to True.

Cookie 包含您的所有 session 数据,使用 JSON 序列化(具有对更广泛的 Python 类型的标记支持),以及确保数据不会被安全篡改的加密签名。

如果您禁用httponly 保护,任何 JS 代码仍然可以解码和读取您的所有 session 数据。即使它不能改变这些值,恶意代码仍然会很感兴趣。想象一下您网站中的 XSS 错误变得更糟,因为 JS 代码可以直接从 session 中读取用于保护 Web 表单的 CSRF token 。

关于python - Flask session ,cookie 存储在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37068604/

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