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 pengaturan TEMPLATES baru.

  • Diperbaiki QuerySet.raw() sehingga InvalidQuery tidak dimunculkan ketika menggunakan nama db_column dari bidang ForeignKey dengan primary_key=True (#12768).

  • Dicegah sebuah pengecualian dalam TestCase.setUpTestData() dari membocorkan transaksi (#25176).

  • Diperbaiki metode has_changed() di contrib.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 dan text_patterns_ops untuk ArrayField (#25180).

Back to Top