Catatan terbitan Django 1.4.2¶
Oktober 17, 2012
Ini adalah terbitan keamanan ke dua di rangkaian Django 1.4.
Peracunan kepala Host¶
Beberapa bagian dari Django – berdiri sendiri dari aplikasi ditulis-pengguna-akhir – menggunakan URL penuh, termasuk nama ranah, yang dibangkitkan dari kepala HTTP Host. Beberapa serangan terhadap ini adalah diluar kemampuan Django untuk mengendalikan, dan membutuhkan peladen jaringan untuk secara benar dikonfigurasikan; Dokumentasi Django mempunyai untuk terkadang mengandung catatan menganjurkan pengguna pada konfigurasi tersebut.
Pengurai siap-pakai Django sendiri dari kepala Host, bagaimanapun, masih rentan, ketika telah dilaporkan ke kami baru-baru ini. Pengurai kepala Host di Django 1.3.3 dan Django 1.4.1 – khususnya, django.http.HttpRequest.get_host()
– tidak benar menangani informasi nama pengguna/sandi di kepala. Demikian, sebagai contoh, kepala Host berikut akan diterima oleh Django ketika berjalan pada “validsite.com”:
Host: validsite.com:random@evilsite.com
Menggunakan ini, seorang penyerang dapat menyebabkan bagian dari Django – terutama mekanisme setel kembali sandi – untuk membangkitkan dan menampilkan URL berubah-ubah kepada pengguna.
Untuk memperbaiki ini, mengurai di HttpRequest.get_host()
sedang dirubah; kepala Host yang mengandung isi kemungkinan berbahaya (seperti pasangan nama pengguna/sandi) sekarang memunculkan pengecualian django.core.exceptions.SuspiciousOperation
.
Rincian dari masalah secara inisial ditempatkan daring seperti security advisory.
Perubahan bertentangan kebelakang¶
Baru diperkenalkan argumen pembangun
GenericIPAddressField
telah dipakai untuk mencocokkan dari semua bidang model lainnya. Argumen kata kunci kedua pertama sekarang verbose_name dan name.
Perbaikan kesalahan dan perubahan lain¶
Subkelas HTMLParser hanya untuk versi Python yang sesuai (#18239).
Ditambahkan argumen batch_size ke qs.bulk_create() (#17788).
Diperbaiki sebuah pemulihan kecil di saringan admin dimana tanggal berbentuk salah dilewatkan sebagai parameter url menyebabkan sebuah ValidationError tidak tertangani (#18530).
Diperbaiki sebuah kesalahan perulangan tidak berakhir ketika mengakses perizinan di cetakan (#18979)
Diperbaiki beberapa masalah kesesuaian Python 2.5
Diperbaiki sebuah masalah dengan nama berkas dikutip di kepala Content-Disposition (#19006)
DIbuat pilihan konteks di etiket
trans
danblocktrans
menerima harfiah dibungkus dalam kutipan tunggal (#18881).Banyak sekali dokumentasi perbaikan dan pembetulan