Django:CSRF验证失败

时间:2010-11-02 14:56:23

标签: django

我正在尝试将非ssl包装页面提交到ssl包装页面,但是我收到此错误。

CSRF verification failed. Request aborted.

Reason given for failure:
    Referer checking failed - http://<domain>/ does not match https://<domain>/.

也就是说,我正在尝试向登录方法提交用户名/密码页面。

如何在不收到此错误的情况下执行此操作?

由于 ERIC

1 个答案:

答案 0 :(得分:3)

如果你认为它是安全的,这里是specifically exempt a normal view from CSRF checking的方法。

但是,我假设您正在讨论contrib.auth次观看,那么您可能需要编写自己的自定义版本并应用@csrf_exempt装饰器而不是强制执行它的那个(即复制,粘贴,更改方法上的装饰器 - 它不像听起来那么痛苦)。

绝对最坏情况,大锤到裂缝坚果解决方案:force-disable CSRF altogether,对于所有观点,甚至django.contrib.*试图强制执行CSRF的观点。好处是你没有hack / fork contrib模块;缺点是 - 好 - 没有CSRF ......