Django 1.4.2 版本发布说明:新特性与升级指南
创始人
2026-05-03 06:21:01
0

Django 1.4.2 版本发行说明

2012 年 10 月 17 日

这是 Django 1.4 系列中的第二个安全版本。

Host 头部中毒

Django 的某些部分(与最终用户编写的应用程序无关)使用完整的 URL,包括从 HTTP Host 头生成的域名。针对此类问题的一些攻击超出了 Django 的控制能力,需要正确配置 Web 服务器; Django 的文档已经包含了一段时间的说明,建议用户进行此类配置。

然而,Django 自身内置的 Host 标头解析仍然存在漏洞,最近有人向我们报告了这个问题。Django 1.3.3 和 Django 1.4.1 中的 Host 标头解析 -- 具体来说是 django.http.HttpRequest.get_host() -- 在处理标头中的用户名/密码信息时出现了错误。因此,例如,在运行在 validsite.com 上时,Django 会接受以下 Host 标头:

Host: validsite.com:random@evilsite.com

利用这一点,攻击者可以使 Django 的部分功能(尤其是密码重置机制)为用户生成并显示任意 URL 。

为了解决这个问题,HttpRequest.get_host() 中的解析正在被修改;包含潜在危险内容(如用户名/密码对)的 Host 标头现在会引发异常 django.core.exceptions.SuspiciousOperation

关于这个问题的详细信息最初被发布在网上作为一份 安全公告

不向后兼容的变更

  • 新引入的 GenericIPAddressField 构造函数参数已经适应了所有其他模型字段的参数。现在的前两个关键字参数是 verbose_name 和 name。

其他错误修复和更改

  • 仅对适用的 Python 版本子类化 HTMLParser( #18239 )。

  • 为 qs.bulk_create() 添加 batch_size 参数( #17788 )。

  • 修复了管理员筛选器中的一个小回归问题,其中错误格式的日期作为 URL 参数传递,导致未处理的 ValidationError( #18530 )。

  • 修复了在模板中访问权限时出现的无限循环错误( #18979 )

  • 修复了一些与 Python 2.5 兼容性有关的问题。

  • 修复了 Content-Disposition 标头中带引号文件名的问题( #19006 )。

  • 使 transblocktrans 标签中的上下文选项接受用单引号包裹的字面值 (#18881)。

  • 大量文档改进和修复。

相关内容

热门资讯

玻璃硬盘原理图 玻璃硬盘原理 玻璃硬盘,又称为磁头悬浮硬盘(Magnetic Head Flying Disk,MHFD),是一种...
闲鱼搜索规则与技巧 闲鱼最新特... 在闲鱼这个二手交易平台上,有很多用户都希望能够找到一些特殊的东西,比如一些罕见的收藏品、独特的手工艺...
家里监控最长能保存多少天的记录... 家里监控一般保存多久 随着科技的发展,家庭监控系统已经成为了许多家庭的必备设备,它不仅可以帮助我们...
华为tag有用吗 华为tag-... 华为Tag是华为手机中的一种功能,它可以帮助用户更好地管理自己的手机数据和应用,通过使用华为Tag,...
ps5手柄可用手机快充充电吗 ... PS5手柄,即PlayStation 5的DualSense手柄,是索尼公司为PlayStation...
QQ音乐提示代理模式可能无法正... QQ音乐提示代理模式可能无法正常访问,如上图所示,是怎么回事呢? 这个可能和你的网络设置有关系,首先...
收到微信有提示音怎么去掉 微信... 微信收到信息没有提示音,可能是由多种原因导致的,以下是一些可能的原因及解决方法: 1. 手机静音或...
a100显卡对应的cuda版本 在进行GPU加速的编程中,CUDA是常用的架构和平台,其版本和显卡型号之间存在着一定的对应关系。本篇...
别人打电话听不见我说话怎么回事... 当我们在使用手机时,可能会遇到别人打电话过来听不见声音的情况,这种情况可能是由多种原因导致的,下面我...
苹果手机非通讯录电话打不进来 ... 手机电话打不进来可能有多种原因,以下是一些常见的问题及解决方法: 1. **信号问题**: ...