---
title: "Informacje o wydaniu Django 1.10.3"
version: 5.2
locale: pl
source: https://docs.djangoproject.com/pl/5.2/releases/1.10.3/
canonical: https://djangodocs.dev/pl/5.2/releases/1.10.3/
---
# Informacje o wydaniu Django 1.10.3

*1 listopada 2016*

Django 1.10.3 naprawia dwa problemy bezpieczeństwa i kilka błędów z wydania 1.10.2.

## Użytkownik tworzony z zahard-code’owanym hasłem podczas uruchamiania testów na Oracle’u

Podczas uruchamiania testów z bazą danych Oracle, Django tworzy tymczasowego użytkownika bazy danych. W starszych wersjach, jeśli hasło nie zostało podane ręcznie w słowniku `TEST` ustawień bazy danych, używane jest hasło zahard-code’owane. To mogło pozwalać atakującemu z dostępem sieciowym do serwera bazy danych na połączenie.

Ten użytkownik jest zazwyczaj usuwany po tym, jak zestaw testów skończy się wykonywać, lecz nie gdy używa się opcji `manage.py test --keepdb` lub kiedy użytkownik ma aktywną sesję (taką jak połączenie atakującego).

Losowo generowane hasło jest teraz używane przy każdym uruchomieniu testu.

## Słabość rebindingu DNS, gdy `DEBUG=True`

Older versions of Django don’t validate the `Host` header against
`settings.ALLOWED_HOSTS` when `settings.DEBUG=True`. This makes them
vulnerable to a [DNS rebinding attack](https://benmmurphy.github.io/blog/2016/07/11/rails-webconsole-dns-rebinding/).

Jako że Django nie dostarcza modułu, który zezwala na zdalne wykonywanie kodu, jest to co najmniej wektor cross-site scriptingu, który może być całkiem poważny, jeśli deweloperzy ładują kopię produkcyjnej bazy danych w dewelopmencie lub łączą się do jakiś produkcyjnych usług, które na przykład nie mają deweloperskich instancji. Jeśli projekt używa pakietu takiego jak `django-debug-toolbar`, wtedy atakujący mógł wykonać własny SQL, który mógł być szczególnie zły, jeśli deweloperzy łączą się do bazy danych kontem superusera.

`settings.ALLOWED_HOSTS` jest teraz walidowane bez względu na `DEBUG`. Dla wygody, jeśli `ALLOWED_HOSTS` jest puste i `DEBUG=True`, następujące wariacje localhosta są dopuszczone `['localhost', '127.0.0.1', '::1']`. Jeśli twoje lokalne ustawienia mają twoją produkcyjną wartość `ALLOWED_HOSTS`, musisz teraz ją ominąć, aby uzyskać wypisane wartości fallback.

## Poprawki błędów

- Można sprawdzać przynależność własności `User.is_authenticated` i `User.is_anonymous` w obiektach klasy `set` ([#27309](https://code.djangoproject.com/ticket/27309)).
- Naprawiona wydajnościowa regresja przy uruchamianiu `migrate` w projektach z operacjami `RenameModel` ([#27279](https://code.djangoproject.com/ticket/27279)).
- Dodane `model_name` do wywołań `allow_migrate()` w `makemigrations` ([#27200](https://code.djangoproject.com/ticket/27200)).
- Sprawiono, że widok `JavaScriptCatalog` bierze pod uwagę argument `packages`; wcześniej go ignorował ([#27374](https://code.djangoproject.com/ticket/27374)).
- Naprawiono `QuerySet.bulk_create()` dla PostgreSQL-a, kiedy liczba obiektów jest o jeden większa od `batch_size` ([#27385](https://code.djangoproject.com/ticket/27385)).
- Nie dopuszczamy użycia w `i18n_patterns()` zbyt dużej ilości URL-a jako języka, aby naprawić przypadek użycia dla `prefix_default_language=False` ([#27063](https://code.djangoproject.com/ticket/27063)).
- Zastąpiono potencjalnie niepoprawne przekierowanie z `SessionMiddleware`, kiedy sesja jest niszczona we współbieżnym żądaniu, przez `SuspiciousOperation`, aby sygnalizować, że żądanie nie może być ukończone ([#27363](https://code.djangoproject.com/ticket/27363)).
