CSRF禁止403的所有可能原因

时间:2020-07-25 06:18:35

标签: django

我想知道CSRF禁止403触发的所有可能触发器。在所有情况下,导致此错误的原因是什么,如何解决?

谢谢!

1 个答案:

答案 0 :(得分:0)

尽管有很多可能性。

您没有使用表单

很明显。在所有表单字段之前,在表单标签之后立即添加{% csrf_token %}

请求需要csrf_token

在某些涉及POST请求的情况下,Django将强制使用csrf_token。有多种使用自定义中间件解决此问题的方法,但是它太复杂了,容易受到跨站点伪造攻击。相反,只需确保将csrf_token传递给您的视图:

@csrf_protect
def your_view(request):
    pass


@method_decorator(ensure_csrf_cookie, name='dispatch')
class your_view(View):
    pass