• CSRF验证


    1. 基本应用

    Form 表单中添加{%  csrf_token  %}

    可以通过查询网页元素得到它的name值和value值

    1. 全站禁用

    # ‘django.middleware.csrf.Csrf……’,在settings中注释该行,表示不要进行csrf验证

    1. 局部禁用

     ‘django.middleware.csrf.Csrf……’,在settings中注释该行

    From django.views.decorators.csrf import  csrf_exempt

    @csrf_exempt      

    def  csrf1(request):

             if  request.method==’GET’:

                    return  render(request,’csrf1.html’)

              else:return HttpResponse(‘ok’)

    给csrf1()一个装饰器csrf_exempt,作用是让csrf1()不要进行csrf验证

    1. 局部使用

    # ‘django.middleware.csrf.Csrf……’,在settings中注释该行

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

    @csrf_protect

    def  csrf1(request):

           if  request.method==’GET’:

                    return  render(request,’csrf1.html’)

              else:return HttpResponse(‘ok’)

    给csrf1()一个装饰器csrf_protect,作用是让csrf1()要进行csrf验证

    2. 特殊CBV

    from django.views import View

    from django.utils.decorators import method_decorato

    @method_decorator(csrf_protect,name='dispatch')

    class Foo(View):

    def get(self,request):

    pass                                            

    def post(self,request):

    pass

                                                 

    在form表单中进行提交时,后台会自动进行csrf的验证,即没有注释‘django.middleware.csrf.Csrf……’它,就必须在

    form表单中添加{%csrf_token%}

  • 相关阅读:
    python时间类型相关
    python调用函数
    LightGBM
    保存训练好的模型并调用
    Bootstrap Table
    Jquery 获取元素上绑定的事件
    C# DLL 反编译改代码
    FastReport C# 导出
    Log4Net
    BootStrap Table
  • 原文地址:https://www.cnblogs.com/IQ-Python/p/7095172.html
Copyright © 2020-2023  润新知