# Dokumentasi Django 5.2.8

# Catatan terbitan Django 1.3.6

February 19, 2013

Django 1.3.6 memperbaiki empat masalah keamanan hadir di terbitan Django sebelumnya di rangkaian 1.3.

Ini adalah terbitan keamanan/perbaikan kesalahan keenam di rangkaian Django 1.3.

## Peracunan kepala Host

Some parts of Django -- independent of end-user-written applications -- make use of full URLs, including domain name, which are generated from the HTTP Host header. Django's documentation has for some time contained notes advising users on how to configure web servers to ensure that only valid Host headers can reach the Django application. However, it has been reported to us that even with the recommended web server configurations there are still techniques available for tricking many common web servers into supplying the application with an incorrect and possibly malicious Host header.

Untuk alasan ini, Django 1.3.6 menambahkan pengaturan baru, `ALLOWED_HOSTS`,yang harus mengandung sebuah daftar eksplisit dari nama ranah/host sah untuk situs ini. Sebuah permintaan dengan kepala Host tidak mencocokkan sebuah masukan di daftar ini akan memunculkan `SuspiciousOperation` jika `request.get_host()` dipanggil. Untuk rincian penuh lihat dokumentasi untuk pengaturan `ALLOWED_HOSTS`.

Nilai awalan untuk pengaturan ini di Django 1.3.6 adalah `['*']` (mencocokkan tiap host), untuk kesesuaian-kebelakang, tetapi kami sangat menganjurkan semua situs untuk mensetel nilai lebih terbatas.

Pengesahan host ditiadakan ketika `DEBUG` adalah `True` atau ketika menjalankan percobaan.

## Deserialisasi XML

Pengurai XML di pustaka standar Python rentan pada sejumlah serangan melalui entitas luar dan perpanjangan entitas. Django menggunakan pengurai ini untuk deserialisasi perlengkapan basisdata berbentuk-XML. Perlengkapan pendeserialisasi ini tidak dimaksudkan untuk digunakan dengan data tidak dipercaya, tetapi untuk kesalahan pada sisi dari keamanan di Django 1.3.6 pendeserialisasi XML menolak untuk mengurai sebuah dokumen XML dengan DTD (pengertian DOCTYPE), yang menutup jalan serangan ini.

Masalah-masalah ini di pustaka standar Python adalah CVE-2013-1664 and CVE-2013-1665. Informasi lebih tersedia from the Python security team.

Penserial XML Django tidak membuat dokumen dengan DTD, jadi ini tidak menyebabkan masalah apapun dengan berjenis pulang-pergi dari `dumpdata` ke `loaddata`, tetapi jika anda mengumpan dokumen anda sendiri ke perintah pengelolaan `loaddata`, anda akan butuh memastikan mereka tidak mengandung sebuah DTD.

## Kelelahan memori formset

Versi sebelumnya dari Django tidak mensahkan atau membatasi data jumlah-formulir disediakan oleh klien di formulir pengelolaan formset, membuatnya memungkinkan untuk menguras memory tersedia peladen dengan memaksanya membuat sejumlah sangat besar dari formulir.

Di Django 1.3.6, semua formset mempunyai angka maksimal dipaksakan-ketat dari formulir (1000 oleh awalan, meskipun itu dapat disetel lebih tinggi melalui argumen pabrik formset `max_num`).

## Riwayat admin menampilkan kebocoran informasi

In previous versions of Django, an admin user without change permission on a model could still view the Unicode representation of instances via their admin history log. Django 1.3.6 now limits the admin history log view for an object to users with change permission for that model.