Django 1.8.4发行说明

2015年8月18日

Django1.8.4修复了1.8.3中的一个安全问题和几个错误。

拒绝服务的可能性 logout() 通过填充会话存储查看

以前,当匿名访问 django.contrib.auth.views.logout() 视图(前提是没有装饰 login_required() 如管理员所做)。这可能允许攻击者通过发送重复请求轻松创建许多新的会话记录,可能会填满会话存储或导致其他用户的会话记录被收回。

这个 SessionMiddleware 已修改为不再创建空会话记录,包括 SESSION_SAVE_EVERY_REQUEST 是活跃的。

错误修正

  • 添加了从新添加的 UUIDField (#25019

  • 添加了系统检查警告 TEMPLATE_* 除了新的 TEMPLATES 设置。

  • 固定的 QuerySet.raw() 所以 InvalidQuery 使用时未引发 db_column A的名称 ForeignKey 场与 primary_key=True (#12768

  • 在中阻止了异常 TestCase.setUpTestData() 避免泄露交易 (#25176

  • 固定的 has_changed() 方法在 contrib.postgres.forms.HStoreField (#25215#25233

  • 修复了运行 migrate 命令 (#25231

  • 感动了 unsaved model instance assignment data loss checkModel.save() 允许更容易地使用内存模型 (#25160

  • 预防的 varchar_patterns_opstext_patterns_ops 指标 ArrayField (#25180