Django 1.5.5 版本发行说明

2013 年 10 月 23 日

Django 1.5.5 修复了一些与安全相关的错误以及 1.5 系列中的其他几个错误。

重新解决通过密码哈希器实现的拒绝服务攻击问题

Django 1.5.4 为了减轻通过提交虚假但极其大的密码进行的拒绝服务攻击,对密码设置了 4096 字节的限制。在 Django 1.5.5 中,我们撤销了这一更改,改为通过不在每次迭代中重新计算哈希密钥来提高 PBKDF2 算法的速度。

登录时正确地轮换 CSRF 令牌

这个在 Django 1.5.2 中作为安全加固措施引入的行为没有正常工作,现已修复。

漏洞修复

  • 修复了 datetime_safe.datetime.combine 的数据损坏 Bug (#21256)。
  • 修复了 django.utils.text.unescape_entities() 中的 Python 3 不兼容问题 (#21185)。
  • 修复了在 Oracle 和 MySQL 下的一些 QuerySet 边缘情况下的数据损坏问题 (#21203, #21126)。
  • 修复了在使用 annotate(), select_related()only() 的组合时引发崩溃的问题 (#16436)。

不向后兼容的变更

  • 已删除未记录的 django.core.servers.basehttp.WSGIServerException。请改用标准库提供的 socket.error