2015 年 8 月 18 日
Django 1.8.4 修复了 1.8.3 中的一个安全问题和几个错误。
logout() 视图中存在拒绝服务的可能性,因为会话存储被填满。¶以前,在匿名访问 django.contrib.auth.views.logout() 视图时可以创建会话(前提是没有像在管理界面中那样使用 login_required() 进行装饰)。这可能允许攻击者通过发送重复的请求轻松创建许多新的会话记录,潜在地填满会话存储或导致其他用户的会话记录被逐出。
SessionMiddleware 已经修改,不再创建空的会话记录,即使 SESSION_SAVE_EVERY_REQUEST 处于活动状态也是如此。
UUIDField 的值进行序列化的能力 (#25019)。TEMPLATES 设置之外定义了旧的 TEMPLATE_* 设置,将会添加一个系统检查警告。QuerySet.raw(),以便在使用具有 primary_key=True 的 ForeignKey 字段的 db_column 名称时不会引发 InvalidQuery 错误 (#12768)。TestCase.setUpTestData() 中防止异常泄漏事务(#25176)。contrib.postgres.forms.HStoreField 中的 has_changed() 方法(#25215,#25233)。migrate 命令时修复了合并迁移记录的问题(#25231)。Model.save() 中,以便更容易使用内存中的模型(#25160)。ArrayField 创建 varchar_patterns_ops 和 text_patterns_ops 索引(#25180)。8月 06, 2024