zoukankan      html  css  js  c++  java
  • django中间件以及解决csrf

      一.中间件,顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出.因为改变的是全局,所以需要谨慎使用,用不好会影响到性能.

      怎么用:

        自定义中间件:

          1.写一个类,继承MiddlewareMixin,

          2.在类中写方法:

            precess_request

          3.在settings中配置

        5个方法 (process_request, process_response)
          *****

          process_request(self,request)

            执行顺序,settings中中间件自上而下执行

            请求来的时候会执行它

            request对象,就是本次请求的request对象,对它处理后,视图函数拿到的就是处理后的request对象

          process_view(self,request,callback,callback_args,callback_kwargs)

            callback是视图函数,callback_args,callback_kwargs是视图函数的参数

            可以调用callback方法

          process_template_response(self,request,response)

            只有视图函数返回的对象中有render方法的时候,才会执行

          process_exception(self,request,exception)

            视图函数出错,会执行它

          *****

          process_response(self,request,response)

            执行顺序,settings中中间件自下而上执行

            响应走的时候,会执行它

            request对象,就是本次请求的request对象,response是响应对象(HttpResponse的对象)

        如果process_request方法返回HttpResponse的对象,请求直接返回,按中间件方法执行顺序往回走

      二.csrf

        xss攻击/csrf或xsrf跨站请求伪造

        使用:中间件不注释,form表单中写{% csrf_token %}

  • 相关阅读:
    获取SqlServer2005表结构
    SQL SERVER 2005连接其它数据库并导入数据表
    vs2008安装失败问题
    Elmah使用方法
    使用postman发送请求,body为空
    docker的简单使用
    mongodb5最新版本的安装和向外暴露端口
    初探gin框架
    img图片的src指定为网络中随便找的图片链接,但是控制台报错get请求403
    父元素为flex布局时,设置最后一个子元素靠右,其他靠左
  • 原文地址:https://www.cnblogs.com/xiaocaiyang/p/10315059.html
Copyright © 2011-2022 走看看