django-内置的中间件

中间件

中间件事在request和response处理过程中的一个插件。比如在request到达试图函数之前,可以使用中间件来做一些相关的事情。比如可以在判断用户有没有登录,如果登陆了,就绑定一个user对象到request上,也可以在response到达浏览器之前,做一些相关的处理,可以在resopnse设置一些cookie信息等。

django内置中间件放置顺序

在settings.py中有内置的中间件信息, 有些中间件是建立项目时,django自带的, 有些中间件需要去手动添加, 但是手动添加的中间放置的位置是有讲究的
1.
1.SecurityMiddleware
2.UpdateCacheMiddleware
3.GZipMiddleware
4.ConditionalGetMiddleware
5.SessionMiddleware
6.LocaleMiddleware
7.CommonMiddleware
8.CsrfViewMiddleware
9.AuthenticationMiddleware
10.MessageMiddleware
11.FetchFromCacheMiddleware
12.FlatpageFallbackMiddleware
13.RedirectFallbackMidlleware
14.XFrameOptionsMiddleware

内置中间件的功能

  • django.middleware.common.CommonMiddleware
    使用CommonMiddleware中间件时, 如果是访问浏览器末尾不加’/‘会自动重定向,就是自动加一个’/’
    可以反爬虫, 判断User-Agent
    在settings.py文件中添加如下代码, 可以限制User-Agent的访问, 下列代码是限制空白和js在这里插入图片描述
  • 缓存中间件, 用来缓存一些页面的
django.middleware.cache.UpdateCacheMiddleware
django.middleware.cache.FetchFromCacheMiddleware
  • 将响应的数据进行压缩, 如果数据大于200字节就会进行压缩
django.middleware.gzip.GzipMiddleware
  • 消息中间件
django.contrib.messages.middleware.MessageMiddleware
  • 安全处理的中间件
django.middleware.security.SecurityMiddleware
  • session中间件, 给request对象添加一个session的属性记录的session的数据信息
django.contrib.sessions.middleware.SessionMiddleware
  • 给request对象一个user对象的中间件
django.contrib.auth.middleware.AuthenticationMiddleware
  • csrf保护的中间件
django.middleware.csrf.CsrfViewMiddleware
  • clickjacking攻击的保护,
django.middleware.clickjacking.XFrameOptionsMiddleware
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值