Примечания к выпуску Django 1.8.4 ¶
18 августа 2015 г.
Django 1.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
имениForeignKey
поля сprimary_key=True
( # 12768 ). - Предотвращено исключение для
TestCase.setUpTestData()
утечки транзакции ( # 25176 ). - Исправленный
has_changed()
метод вcontrib.postgres.forms.HStoreField
( # 25215 , # 25233 ). - Исправлена запись сжатых миграций при запуске
migrate
команды ( # 25231 ). - Покрутил несохраненную экземпляр модели проверки потери данных назначения для
Model.save()
чтобы облегчить использование в памяти моделей ( # 25160 ). - Предотвращены
varchar_patterns_ops
иtext_patterns_ops
индексы дляArrayField
( # 25180 ).