gpt4 book ai didi

django - "request"cookie 是否应该设置安全标志?

转载 作者:行者123 更新时间:2023-12-03 21:44:54 25 4
gpt4 key购买 nike

我有一个 Django 应用程序。该应用程序有 2 个从服务器返回的主要 cookie(csrftoken 和 sessionid)。我将 settings.py 文件中的 SESSION_COOKIE_SECURE 和 CSRF_COOKIE_SECURE 标志设置为 True,如果我检查登录到我的应用程序的初始请求,我会看到这两个 cookie 在来自服务器的响应中都设置了“安全”标志。

当我在我的应用程序中检查 cookie 时,我注意到有“请求 cookie”和“响应 cookie”。 “响应cookie”是那些设置了标志的cookie。请求 cookie 没有。

我的问题:有什么方法可以强制“请求 cookie”设置安全标志?这甚至是安全问题吗?我的应用程序流量是通过 https 传输的,因此浏览器和服务器之间的所有连接都已经被加密...

最佳答案

它不是真的那样工作......这些标志只存在于 Set-Cookie 中。 header (响应)。

当客户端(浏览器)收到 Set-Cookie header ,它将标记与 cookie 值一起存储,但仅供其自己使用(以便浏览器本身可以在必要时知道何时何地发送 cookie 值)。
Cookie header (请求)不能包含标志;它只是 <cookie-name>=<cookie-value> 的列表当您(服务器)收到它们时,您甚至不能保证自己设置了它们。
这是因为同一域名下的任何应用程序都可以为该域设置 cookie。例如,在 example.com/foo 上运行的应用程序将能够为 example.com/bar 甚至 another.example.com 设置 cookie。

但是,排除真正可怕的浏览器错误的可能性,您可以确定,如果您在响应中为 cookie 设置“安全”标志,接收浏览器将不会通过非加密连接发送它。
它并不是真正 100% 保证,但它确实是您拥有的唯一选择,并且几乎整个网络都依赖于浏览器的正常运行,因此您并不孤单。

可悲的是,这就是 cookie 的工作方式。阅读他们的官方标准here如果您有兴趣了解更多关于它们的信息。

关于django - "request"cookie 是否应该设置安全标志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33745267/

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