Примечания к выпуску 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 ).

Copyright ©2021 All rights reserved