Catatan terbitan Django 1.8.4¶
Agustus 18, 2015
Django 1.8.4 memperbaiki masalah keamanan dan beberapa kesalahan di 1.8.3.
Kemungkinan denial-of-service dalam tampilan logout()
dengan mengisi sesi toko¶
Sebelumnya, sebuah sesi dapat dibuat ketika anonim mengakses tampilan django.contrib.auth.views.logout()
(disediakan itu tidak dihias dengan login_required()
seperti yang dilakukan di admin). Ini dapat mengizinkan seorang penyerang dengan mudah membuat banyak rekaman sesi baru dengan mengirim permintaan secara berulang, kemungkinan mengisi penyimpanan sesi atau menyebabkan rekaman sesu pengguna lain dikeluarkan.
SessionMiddleware
telah dirubah menjadi tidak lagi membuat rekaman sesi kosong, termasuk ketika SESSION_SAVE_EVERY_REQUEST
aktif.
Perbaikan kesalahan¶
- Ditambahkan kemampuan untuk menserialisasikan nilai-nilai dari
UUIDField
ditambahkan baru (#25019). - Ditambahkan sebuah peringatan pemeriksaan sistem jika pengaturan
TEMPLATE_*
lama ditentukan sebagai tambahan pada pengaturanTEMPLATES
baru. - Diperbaiki
QuerySet.raw()
sehinggaInvalidQuery
tidak dimunculkan ketika menggunakan namadb_column
dari bidangForeignKey
denganprimary_key=True
(#12768). - Dicegah sebuah pengecualian dalam
TestCase.setUpTestData()
dari membocorkan transaksi (#25176). - Diperbaiki metode
has_changed()
dicontrib.postgres.forms.HStoreField
(#25215, #25233). - Diperbaiki perekaman dari perpindahan penindihan ketika menjalankan perintah
migrate
(#25231). - Dipindahkan unsaved model instance assignment data loss check pada
Model.save()
mengizinkan penggunaan lebih mudah dari model dalam-memori (#25160). - Dicegah indeks
varchar_patterns_ops
dantext_patterns_ops
untukArrayField
(#25180).