Catatan terbitan Django 1.5.2¶
Agustus 13, 2013
Ini adalah Django 1.5.2, terbitan perbaikan kesalahan dan keamanan untuk Django 1.5.
Mengurangi kemungkinan serangan XSS melalui mengalihkan URL penyediaan-pengguna¶
Django bergantung pada masukan pengguna di beberapa kasus (sebagai contoh django.contrib.comments()
dan i18n) untuk mengalihkan pengguna ke URL "on success". Pemeriksaan keamanan untuk pengalihan ini (dinamai django.utils.http.is_safe_url()
) tidak memeriksa jika skema adalah https(s)
dan seperti diperbolehkanURL javascript:...
untuk dimasukkan. Jika seorang pengembang bergantung pada is_safe_url()
untuk menyediakan sasaran pengalihan aman dan menaruh URL seperti itu kedalam sebuah tautan, mereka dapat menderita dari serangan XSS. Kesalahan ini tidak mempengaruhi Django saat ini, karena kami hanya menaruh URL ini kedalam kepala tanggapan Location
dan peramban melihat untuk mengabaikan JavaScript disana.
Kerentanan XSS di django.contrib.admin
¶
Jika sebuah URLField
di Django 1.5, itu menampilkan nilai saat ini dari bidang dan sebuah tautan pada sasaran di halaman merubah admin. Rutin tampilan dari widget ini telah cacar dan diizinkan untuk XSS.
Perbaikan kesalahan¶
- Diperbaiki sebuah kegagalan dengan
prefetch_related()
(#19607) sama halnya beberapa pemulihanpickle
denganprefetch_related
(#20157 and #20257). - Diperbaiki sebuah pemulihan di
django.contrib.gis
di keluaran Google Map pada Pyhton 3 (#20773). - Dibuat DjangoTestSuiteRunner.setup_databases` dengan benar menangani nama lain untuk basisdata awalan (#19940) dan dicegah
teardown_databases
untuk mencoba merobohkan nama lain (#20681). - Diperbaiki
django.core.cache.backends.memcached.MemcachedCache
metodeget_many()
backend pada Python 3 (#20722). - Diperbaiki kesalahan sintaksis terjemahan
django.contrib.humanize
. Bahasa terpengaruh: Meksiko Spanyol, Mongolia, Rumania, Turki (#20695). - Ditambahkan dukungan untuk paket wheel (#19252).
- Token CSRF sekarang berputar ketika pengguna masuk.
- Beberapa perbaikan kesesuaian Python 3 termasuk #20212 dan #20025.
- Diperbaiki beberapa kasus jarang dimana pengecualian
get()
berulang tidak terbatas (#20278). makemessages
tidak lagi gagal denganUnicodeDecodeError
(#20354).- Diperbaiki penemuan
geojson
dengan SpatiaLite. assertContains()
sekali lagi bekerja denganisi biner (#20237).- Diperbaiki
ManyToManyField
jika itu mempunyai parametername
unicode (#20207). - Pastikan bahwa jalur permintaan WSGI benar berdasarkan di variabel lingkungan
SCRIPT_NAME
atau pengaturanFORCE_SCRIPT_NAME
, terlepas dari apapun atau tidak baik mempunyai buntutan garis miring (#20169). - Diperbaiki sebuah kesalahan mengaburkan dengan penghias
override_settings()
. Jika anda mengenai sebuah pengecualian ``AttributeError: 'Settings' object has no attribute '_original_allowed_hosts'`, itu mungkin diperbaiki (#20636).