• django中csrf使用方法


    什么是csrf ?

    • csrf是一种服务器过滤不安全post请求的方法
    • 具体是服务器生成一个随机字符串,浏览器GET请求会得到这个字符串,
      POST请求的时候带上这个字符串,服务器收到request时候验证,并确认

     在django中开启csrf服务:

    在django中的setting文件中的,middleware列表有一行:

    'django.middleware.csrf.CsrfViewMiddleware',  
    所以,csrf是自带,而且开启的。
     
    使用模板语言在html中直接调用 :{%csrf_token%}
    在浏览器端表现为:
    <input type="hidden" name="csrfmiddlewaretoken" value="AkzFz4k7nHaAQOTBIbCLdswfgzQH09WkJxxWEtpM8GD8ZDbjX6hliuTiGt4iUgbz">0  
    如果此标签是放在form表单中则随POST请求一起提交了。
     
     在django中禁用csrf服务:
    •   在middleware列表注释掉
      'django.middleware.csrf.CsrfViewMiddleware',  

    局部禁用:

    •   在视图函数前加上装饰器@csrf_exempt,需要先引入from django.views.decorators.csrf import csrf_exempt
    •         在cbv模式下,from django.utils.decorators import method_decorator,然后在class上加@csrf_exempt

    局部启用

    •   在全局禁用的情况下
    •   引入函数  from django.views.decorators.csrf import csrf_protect
    •         在视图函数前加入@csrf_protect
    •         cbv模式下,在class前加上@csrf_protect
  • 相关阅读:
    IfcIndexedColourMap ——Example
    IfcIndexedColourMap
    IfcImageTexture
    IfcFillAreaStyleTiles
    IfcFillAreaStyleHatching
    IfcFillAreaStyle
    IfcExternallyDefinedTextFont
    IfcExternallyDefinedSurfaceStyle
    IfcExternallyDefinedHatchStyle
    IfcDraughtingPreDefinedCurveFont
  • 原文地址:https://www.cnblogs.com/yuanji2018/p/9913745.html
Copyright © 2020-2023  润新知