【发布时间】:2014-07-16 12:21:31
【问题描述】:
我有向 Django 1.6.4 应用程序发出 POST 请求的 AJAX 代码。该视图通过django.middleware.csrf.CsrfViewMiddleware 启用了 CSRF 保护。如果我不传递 cookie 但传递了 HTTP_X_CSRFTOKEN,它会失败。
我正在查看django.middleware.csrf.CsrfViewMiddleware 的代码,我在第 161 行看到它在从 cookie 中获取 if csrf_token is None: 后检查它是否。如果为 None,则返回。之后它才检查csrfmiddlewaretoken 参数和HTTP_X_CSRFTOKEN 请求标头。这看起来不正确,只有在检查了所有可能的位置以找到它之后才能检查是否缺少 csrf_token 值。
其他人有类似的问题吗?我看错了吗?
【问题讨论】:
标签: django django-csrf django-1.6