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
UUIDFieldditambahkan baru (#25019). - Ditambahkan sebuah peringatan pemeriksaan sistem jika pengaturan
TEMPLATE_*lama ditentukan sebagai tambahan pada pengaturanTEMPLATESbaru. - Diperbaiki
QuerySet.raw()sehinggaInvalidQuerytidak dimunculkan ketika menggunakan namadb_columndari bidangForeignKeydenganprimary_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_opsdantext_patterns_opsuntukArrayField(#25180).