# Django 5.2.8 documentation

# Django 1.11.5 版本发行说明

2017 年 9 月 5 日

Django 1.11.5 修复了 1.11.4 中的一个安全问题和几个漏洞。

## CVE-2017-12794 ：技术性 500 调试页面的追踪部分可能存在 XSS 漏洞

在旧版本中，在技术性的 500 调试页面模板的一部分中禁用了 HTML 自动转义。在正确的情况下，这可能导致跨站点脚本攻击。这个漏洞不应影响大多数生产站点，因为你不应该在生产设置中运行 `DEBUG = True` （这使得这个页面可访问）。

## 漏洞修复

- 修复了如果 GEOS 版本在末尾具有提交哈希（在 GEOS 3.6.2 中新引入）时的版本解析问题 (#28441)。

- 添加了对 `cx_Oracle` 6 的兼容性 (#28498)。

- 修复了当选项值为元组时，选择小部件的呈现问题 (#28502)。

- Django 1.11 无意中改变了 Oracle 上的序列和触发器命名方案。如果在 `DATABASES` 的 `OPTIONS` 部分中包含 `'use_returning_into': False`，这会导致一些表的插入操作出错。现在已经恢复了 1.11 之前的命名方案。不幸的是，这必然需要更新使用 Django 1.11.[1-4] 创建的 Oracle 表。可以使用 #28451 评论 8 中的升级脚本来更新序列和触发器的名称，以使用 1.11 之前的命名方案。

- 为了与基于函数的 `logout()` 视图相等，为 `LogoutView` 添加了 POST 请求支持 (#28513)。

- 如果 `pages_per_range` 为 `None`，则在 `BrinIndex.deconstruct()` 中省略了它 (#25809)。

- 修复了 `SelectDateWidget` 本地化选择框中的年份的回归问题 (#28530)。

- 修复了在 Python 2 + Windows 上使用非 Unicode 系统编码时，1.11.4 中的 `runserver` 崩溃的回归问题 (#28487)。

- 修复了 Django 1.10 中的回归问题，其中对 `ManyToManyField` 的更改未在管理员更改历史中记录 (#27998)，并防止模型表单中的 `ManyToManyField` 初始数据受到后续模型更改的影响 (#28543)。

- 修复了在某些具有多个连接的查询中产生非确定性结果或引发 `AssertionError` 崩溃的问题 (#26522)。

- 修复了 `contrib.auth` 中的 `login()` 和 `logout()` 视图中的回归问题，它们忽略了位置参数 (#28550)。