django 禁掉CSRF

如果你没有正确地设置CSRF,在提交表单的时候就会出现403错误,这个我已经在我的另外一篇文章有描述,并提出了解决办法:

django错误 – Reason given for failure: CSRF cookie not set.

其实上面这篇文章中提到的是针对某个方法,如果是想整个网站禁止CSRF那么可以采用如下的方法

在settings.py 添加下面一行到MIDDLEWARE_CLASSES:

MIDDLEWARE_CLASSES = ( 
 
    myapp.disable.DisableCSRF,  
 
) 

然后在settings.py同级目录创建disable.py文件,添加如下内容:

class DisableCSRF(object): 
    def process_request(self, request): 
        setattr(request, '_dont_enforce_csrf_checks', True) 

当然还是那句话,django设置CSRF的初衷是为了网站的安全,所以不要轻易的去禁止它。

版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则按侵权处理.

    分享到:

Leave a Reply

Your email address will not be published. Required fields are marked *