Примечания к выпуску Django 1.5.2 ¶
13 августа 2013 г.
Это Django 1.5.2, исправление ошибок и выпуск безопасности для Django 1.5.
Снижены возможные атаки XSS через URL-адреса перенаправления, предоставленные пользователем ¶
В некоторых случаях Django полагается на ввод данных пользователем (например
django.contrib.auth.views.login()
, django.contrib.comments
и
i18n ) для перенаправления пользователя на URL-адрес «при успехе». Проверки безопасности для этих перенаправлений (а именно
django.utils.http.is_safe_url()
) не проверяли http(s)
, разрешена ли схема и разрешены javascript:...
ли вводимые URL-адреса. Если разработчик полагался на is_safe_url()
обеспечение безопасных целей перенаправления и помещал такой URL-адрес в ссылку, он мог пострадать от XSS-атаки. В настоящее время эта ошибка не влияет на Django, поскольку мы помещаем этот URL-адрес только в Location
заголовок ответа, а браузеры, похоже, игнорируют там JavaScript.
XSS-уязвимость в ¶django.contrib.admin
Если a URLField
используется в Django 1.5, он отображает текущее значение поля и ссылку на цель на странице изменения администратора. Процедура отображения этого виджета была некорректной и допускала использование XSS.
Исправления ¶
- Исправлен сбой с
prefetch_related()
(# 19607), а также некоторыеpickle
регрессии сprefetch_related
(# 20157 и # 20257). - Исправлена регрессия в
django.contrib.gis
выводе Google Map на Python 3 (# 20773). - Сделана
DjangoTestSuiteRunner.setup_databases
правильная обработка псевдонимов для базы данных по умолчанию (# 19940) и предотвращенаteardown_databases
попытка удаления псевдонимов (# 20681). - Исправлен
django.core.cache.backends.memcached.MemcachedCache
бэкэнд-get_many()
метод на Python 3 (# 20722). - Исправлены
django.contrib.humanize
синтаксические ошибки перевода. Затронутые языки: мексиканский испанский, монгольский, румынский, турецкий (# 20695). - Добавлена поддержка пакетов колес (# 19252).
- Токен CSRF теперь вращается, когда пользователь входит в систему.
- Некоторые исправления совместимости с Python 3, включая # 20212 и # 20025.
- Исправлены некоторые редкие случаи, когда
get()
исключения повторялись бесконечно (# 20278). makemessages
больше не вылетает сUnicodeDecodeError
(# 20354).- Исправлено
geojson
обнаружение с помощью SpatiaLite. assertContains()
снова работает с бинарным контентом (# 20237).- Исправлено,
ManyToManyField
если у него естьname
параметр Unicode (# 20207). - Гарантировано, что путь запроса WSGI правильно основан на
SCRIPT_NAME
переменной среды илиFORCE_SCRIPT_NAME
настройке, независимо от того, есть ли в конце косая черта (# 20169). - Исправлена непонятная ошибка с
override_settings()
декоратором. Если вы обнаружите исключение, оно, вероятно, исправлено (# 20636).AttributeError: 'Settings' object has no attribute '_original_allowed_hosts'