gpt4 book ai didi

django - 了解 Django 中的 CSRF;表单中的隐藏字段和 CSRFCookie

转载 作者:行者123 更新时间:2023-12-02 11:53:15 27 4
gpt4 key购买 nike

我正在写下我对Django中CSRF保护机制的理解。如有错误请指正。

csrfViewMiddleware 创建一个唯一的字符串并将其存储在源自主机的表单的隐藏字段'csrfmiddlewaretoken' 中。由于模仿此表单的恶意网站不会知道此字段的值,因此无法使用它。

当有人尝试 POST 表单时,网站会检查 'csrfmiddlewaretoken' 字段及其值。如果错误或未设置,则检测到csrf攻击。

那么,CSRFCookie 到底是什么? The doc说唯一值是在 CSRFCookie隐藏字段 中设置的。这就是我感到困惑的地方。 cookie 是否会嵌入唯一的字符串发送到浏览器?

最佳答案

Django 为经过身份验证的用户分配一个存储在 cookie 中的 CSRF token 。每次用户发出被视为“不安全”的请求(即 POST、PUT、DELETE)时,都会读取此 cookie 中的值,以验证发出该请求的是用户(而不是恶意第三方)。

您放置在表单中的 CSRF 标记实际上从 cookie 中获取 CSRF token ,然后在您提交表单时将其作为 POST 变量传递。

关于django - 了解 Django 中的 CSRF;表单中的隐藏字段和 CSRFCookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9936585/

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