django csrf 防护

作用:

防止跨站伪请求

配置文件:

MIDDLEWARE = [
 
    'django.middleware.csrf.CsrfViewMiddleware',
 
]

模板:

{% csrf_token %}

视图类视图函数默认都加入csrf验证

 

from django.views.decorators.csrf  import csrf_exempt,csrf_protect

fbv:

去掉csrf防护

@csrf_exempt

加入csrf防护

@csrf_protect

cbv

去掉csrf防护

@ method_decorator(csrf_exempt, name=dispatch)  # dispatch是源码中反射处理的函数
class Login(View):

    def post(self, request, *args, **kwargs):
        return HttpResponse('POST')  
 

ajax提交表单的时候注意加入csrfmiddlewaretoke:token 

django csrf 防护_第1张图片

你可能感兴趣的:(python,django)