我想知道CSRF禁止403触发的所有可能触发器。在所有情况下,导致此错误的原因是什么,如何解决?
谢谢!
答案 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