Django添加防跨站请求伪造中间件

第一步:
在全局设置中打开此中间件:
MIDDLEWARE_CLASSES = [
...
'django.middleware.csrf.CsrfViewMiddleware',
...
]
 
 
第二步:
在提交表单中添加{% csrf_token %}:
<form id='input_form' action='/index/' method='POST'>
{% csrf_token %}
</form>
 
第三步:
在views处理返回时添加参数context_instance=RequestContext(request):
return render_to_response('index.html',context_instance=RequestContext(request))
 
至次已经配置成功,如果要影响一些局部设置,可以用如下装饰器来修饰:
@csrf_protect,为函数强制设置防跨站请求伪造功能,即便settings中没有csrf中间件。
@csrf_exempt,取消函数防跨站请求伪造功能,即便settings中添加了csrf中间件。
 
如下:
@csrf_exempt
def index(request):
return render_to_response('index.html',context_instance=RequestContext(request))
 
 
 
 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
原文地址:https://www.cnblogs.com/zejin2008/p/6800826.html