【问题标题】:Django - No CSRF error for posts without tokenDjango - 没有令牌的帖子没有 CSRF 错误
【发布时间】:2021-04-01 02:32:16
【问题描述】:

我正在使用 Django 来托管一个 React 应用程序。我在 Django 中添加了 CSRF 保护中间件。我尝试通过使用 Postman 发送 http 帖子来测试它,但标题中没有 x-csrftoken。令我惊讶的是,我没有得到 403,但我能够在没有 x-csrftoken 的情况下获取数据。这怎么可能? 您可以在下面找到我的 CSRF 设置。我的附加 Django 设置非常简单,包括 CORS。

...
# Cross Origin Resource Sharing Protection
CORS_ALLOWED_ORIGINS = [
    'http://127.0.0.1:3000',
]
CORS_ORIGIN_ALLOW_ALL = False
CORS_ALLOW_CREDENTIALS = True
# Cross Site Request Forgery Protection
CSRF_TRUSTED_ORIGINS = []
MIDDLEWARE = [
    ...
    'django.middleware.csrf.CsrfViewMiddleware',
]

【问题讨论】:

  • 您在使用 DRF 吗?您使用的是哪种身份验证?
  • 是的,我正在使用 DRF。事实上,我使用 DRF 的令牌身份验证。
  • 看看下面的答案。

标签: django http csrf django-csrf


【解决方案1】:

如果您使用的不是 SessionAuthentication CSRF will be disabled。在the docs.

【讨论】:

    猜你喜欢
    • 2015-12-23
    • 2011-12-11
    • 1970-01-01
    • 1970-01-01
    • 2019-07-18
    • 2015-12-19
    • 2015-11-03
    • 1970-01-01
    • 2018-04-10
    相关资源
    最近更新 更多