CSRF

  a.CSRF原理
    post提交时需要提交csrf_token ,缺少则不通过

在form表单中加入:
{% csrf_token %}

  b.无CSRF时存在隐患
    防护其他人通过别的链接post提交
  c.Form提交(CSRF)
      {% csrf_token %}

  d.Ajax提交(CSRF) ----L22-capture-10

                         CSRF请求头:X-CSRFtoken在所有ajax请求加入请求头$(function(){$.ajanxSetup({beforeSend:function(xhr,settings){#xhr:XMLHttpRequst()  ajax封装的xhr方法xhr.setRequestHeader('X-CSRFtoken',$.cookie('csrftoken'))}})$('#btn1').click(function(){$.ajax({url:'/login/',type:'POST'data:{‘user’:123}success:function(arg){...}               })})          })

  

  局部加上CSRF:

    @csrf_exempt 单一的排除
    @csrf_protect 单一的加上

中间件(管道,httphandle类)

    1.原理

  settings中的MIDDLEWARE
      对所有请求做统一的处理

    2.操作

    

from django.utils.deprecation import MiddlewareMixinclass Row1(MiddlewareMixin):#请求开始def process_request(self,request):print('row1')if True:passelse:return HttpResponse#url(r'^test/(?p<nid>\d+)$',views.test)#获取路由系统中的参数,和test函数def   process_view(self,request,view_func,view_func_args,view_func_kwargs):print('row1_view')#请求返回def process_response(self,request,response):return responsedef process_exception(self,request,exception): #views 中出错就执行if isinstance(exception,ValueError):return HttpResponse('valueError')def process_template_response(self,request,response):#如果views中的函数返回的对象中,具有render方法print('------')return response

  

  

转载于:https://www.cnblogs.com/crazytao/p/7787856.html

Django之中间件-CSRF相关推荐

  1. $Django 中间件 csrf

     中间件   -中间件是什么?请求和响应之间的一道屏障   -中间件作用:控制请求和响应   -django中内置几个中间件    process_request(self,request)    p ...

  2. django CBV装饰器 自定义django中间件 csrf跨站请求伪造 auth认证模块

    CBV加装饰器 第一种 @method_decorator(装饰器) 加在get上 第二种 @method_decorator(login_auth,name='get') 加在类上 第三种 @met ...

  3. Django之中间件,csrf跨站伪造请求,auth认证模块

    Django请求生命周期 django的中间件 django的中间件相当于保安,请求的时候要经过django的中间件才能连接django的后端 能用来干什么:能够做网站的全局身份认证,访问频率,权限认 ...

  4. python 全栈开发,Day87(ajax登录示例,CSRF跨站请求伪造,Django的中间件,自定义分页)...

    python 全栈开发,Day87(ajax登录示例,CSRF跨站请求伪造,Django的中间件,自定义分页) 一.ajax登录示例 新建项目login_ajax 修改urls.py,增加路径 fro ...

  5. python Django Session,CSRF,Model操作,Form验证,中间件,缓存,信号

    Django Session,CSRF,Model操作,Form验证,中间件,缓存,信号 Session CSRF Model 操作 Form 验证 中间件 缓存 信号 1,Session 基于coo ...

  6. Python攻城师的成长————Django框架(csrf相关装饰器、基于中间件思想编写项目、auth认证模块)

    今日学习目标 逐步掌握csrf相关装饰器.基于中间件思想编写项目.auth认证模块知识点 文章目录 今日学习目标 学习内容 一. csrf相关装饰器 二.基于中间件思想编写项目 三.auth认证模块 ...

  7. Django的中间件

    Django的中间件 目录 中间件介绍 什么是中间件? 自定义中间件 自定义一个中间件示例 process_request process_response process_view process_ ...

  8. Django框架(26.Django中的CSRF以及登录装饰器)

    CSRF简介 CSRF全拼为Cross Site Request Forgery,译为跨站请求伪造.CSRF指攻击者盗用了你的身份,以你的名义发送恶意请求.CSRF能够做的事情包括:以你名义发送邮件, ...

  9. Django 组件- 中间件

    11.1 中间件 一.中间件的概念 中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出.因为改变的是全局,所以需要谨 ...

最新文章

  1. opencv图像处理梯度边缘和角点
  2. 腾讯云携手SENSORO,为城市安全保驾护航
  3. python任务调度平台 界面_任务调度平台Cuckoo-Schedule
  4. 雷林鹏分享:Lua 数据库访问
  5. 十、【栈和队列】队列
  6. python信号分析_Python频谱分析
  7. Fread 和fwrite的参数不同,返回值不同
  8. php 面向对象 特性,PHP面向对象三大特点学习
  9. 【支付宝服务窗】JEECG支付宝服务窗平台指南
  10. android.bg,[Android]AMS-PSS
  11. android 吐司服务中显示,android里的“吐司”
  12. 为archlinux选择国内镜像
  13. 车内看车头正不正技巧_交规理论最全技巧口诀,学会后100%过关!
  14. 数据统计学习的5个基本流程
  15. Anaconda 更新pip版本
  16. android的usb热插拔,Android M能让外部存储变成内部存储 支持U盘热插拔
  17. 01excel空白一键填充
  18. (模电3)整流二极管和开关二极管
  19. 自动驾驶中的Scene, Situation和Scenario的定义与补充
  20. 机器学习常见术语汇总

热门文章

  1. 小米redmi_99.9元!Redmi首款智能手环评测:能“打赢”小米手环5吗?
  2. java红牛农场答案_Java面向对象程序设计实验指导与习题解答(21世纪高等学校计算机专业实用规划教材)...
  3. web打印控件_web网页测试应该注意点(一)
  4. html 三级目录索引,墨涩网 - HTTP Web服务器索引目录列表程序Directory Lister——墨涩网...
  5. 改变层级_3DMAX基础,可编辑多边形层级介绍及概念
  6. 【vcenter】redhat虚拟机时间莫名异常
  7. 前端公共库CDN加速
  8. Appium 与 Chromedriver
  9. nginx 反向代理web应用将https请求转成http请求时,必须注意事项
  10. 上海图书馆 计算机软件,上海图书馆上海科技情报研究所招聘信息