【问题标题】:Django CSRFToken ValidationDjango CSRFToken 验证
【发布时间】:2020-11-08 18:20:28
【问题描述】:

尝试通过在标头中向服务器提供 csrftoken 来创建 POST 请求(如 -> X-CSRFToken: _csrf_token_value)。

但是 CsrfViewMiddleware 拒绝请求并返回 Forbidden (CSRF token missing or incorrect.)

来自客户端和 POSTMAN 的 ajaxrequest 请求均失败。

在这个项目中使用 Django 3.0.x。

编辑 - 从 _get_new_csrf_token() 获取 csrftoken,在下一个请求的标头中发送

更新-进一步调试发现,将标头中设置的 csrftoken 与 request.META 下的CSRF_COOKIE 进行比较,当然两者都不同,但无法理解 META 中设置 cookie 的原因?

META中的cookie与POSTMAN在Header下发送的默认cookie(default Cookies)相同

【问题讨论】:

    标签: python django csrf django-csrf csrf-token


    【解决方案1】:

    将此添加到您的模板中,您可以在其中启动表单。

    {% csrf token %}
    

    【讨论】:

      猜你喜欢
      • 2018-07-30
      • 2019-03-28
      • 2016-04-02
      • 2012-11-04
      • 2015-08-05
      • 2017-12-04
      • 2013-09-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多