您的位置:首页 > 编程语言 > Go语言

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

2017-05-03 11:05 190 查看
第一步:
在全局设置中打开此中间件:
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))

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: