# Dokumentasi Django 6.0.7

# Catatan terbitan Django 1.8.16

1 November 2016

Django 1.8.16 memperbaiki dua masalah keamanan di 1.8.15.

## Pengguna dengan sandi kode keras dibuat ketika menjalankan percobaan pada Oracle

Ketika menjalankan percobaan dengan basisdata Oracle, Django membuat basisdata sementara pengguna. Di versi terlama, jika sandi tidak secara manual ditentukan di pengaturan basisdata kamus `TEST`, sebuah kode keras sandi digunakan. Inidapat mengizinkan penyerang dengan akses jaringan ke peladen basisdata untuk terhubung.

Pengguna ini biasanya dibuang setelah rangkaian percobaan selesai, tetapi tidak ketika menggunakan pilihan `manage.py test --keepdb` atau jika pengguna mempunyai sesi aktif (seperti seorang hubungan penyerang).

Secara acak sandi dibangkitkan sekarang digunakan untuk setiap pejalan percobaan.

## Kerentanan pengikatan kembali DNS ketika `DEBUG=True`

Versi terlama dari Django tidak mensahakn kepala `Host` terhadap `settings.ALLOWED_HOSTS` ketika `settings.DEBUG=True`. Ini membuat mereka rentan pada DNS rebinding attack.

Selagi Django tidak dibekali modul yang mengizinkan pengerjaan kode secara terpencil, ini setidaknya vektor cross-site scripting, yang dapat sangat serius jika pengembang memuat salinan dari basisdata produksi di pengembangan atau terhubung ke beberapa layanan produksi untuk dimana tidak ada instance pengembangan, sebagai contoh. Jika sebuah proyek menggunakan sebuah paket seperti `django-debug-toolbar`, kemudian penyerang dapa menjalankan SQL yang berubah-ubah, yang dapat khususnya buruk jika pengembang terhubung ke basisdata dengan akun superuser.

`settings.ALLOWED_HOSTS` sekarang disahkan meskipun `DEBUG`. Untuk kemnyamanan, jika `ALLOWED_HOSTS` adalah kosong dan `DEBUG=True`, perbedaan berikut dari localhost diizinkan `['localhost', '127.0.0.1', '::1']`. Jika berkas pengaturan lokal anda mempunyai produksi anda nilai `ALLOWED_HOSTS`, anda harus sekarang menghilangkan itu untuk mendapatkan nilai fallback tersebut.