Django 1.8.4 发行说明 — Django 文档
来自菜鸟教程
Django/docs/3.2.x/releases/1.8.4
Django 1.8.4 发行说明
2015 年 8 月 18 日
Django 1.8.4 修复了 1.8.3 中的一个安全问题和几个错误。
logout() 视图中通过填充会话存储的拒绝服务可能性
以前,可以在匿名访问 django.contrib.auth.views.logout()
视图时创建会话(前提是它没有像管理员那样用 login_required() 修饰)。 这可能允许攻击者通过发送重复请求轻松创建许多新的会话记录,可能会填满会话存储或导致其他用户的会话记录被逐出。
SessionMiddleware 已修改为不再创建空会话记录,包括当 :setting:`SESSION_SAVE_EVERY_REQUEST` 处于活动状态时。
错误修正
- 添加了从新添加的 UUIDField (:ticket:`25019`) 序列化值的功能。
- 如果除了新的
TEMPLATES
设置之外还定义了旧的TEMPLATE_*
设置,则会添加系统检查警告。 - 修复了
QuerySet.raw()
,因此在将ForeignKey
字段的db_column
名称与primary_key=True
(:票: `12768`)。 - 防止
TestCase.setUpTestData()
中的异常泄露交易 (:ticket:`25176`)。 - 修复了
contrib.postgres.forms.HStoreField
中的has_changed()
方法(:ticket:`25215`, :ticket:`25233`)。 - 修复了运行
migrate
命令时压缩迁移的记录 (:ticket:`25231`)。 - 将 未保存的模型实例分配数据丢失检查 移至
Model.save()
,以便更轻松地使用内存模型 (:ticket:`25160`)。 - 防止
varchar_patterns_ops
和text_patterns_ops
索引ArrayField
(:ticket:`25180`)。