# dokumentasi Django 2.2.9.dev20191202104323

# Catatan terbitan Django 1.5.3

September 10, 2013

Ini adalah Django 1.5.3, terbitan ketiga di rangkaian Django 1.5. Itu mengalamatkan satu masalah keamanan dan juga mengandung sebuah fitur pilihan untuk meningkatkan keamanan dari `django.contrib.sessions`.

## Kerentanan lintasan direktori dalam etiket cetakan `ssi`

Dalam versi sebelumnya Django itu telah memungkinkan melewatkan pengaturan `ALLOWED_INCLUDE_ROOTS` digunakan untuk keamanan dengan etiket cetakan `ssi` dengan menentukan jalur relatif yang dimulai dengan satu dari akar yang diizinkan. Sebagai contoh, jika `ALLOWED_INCLUDE_ROOTS = ("/var/www",)` berikutnya akan mungkin:

    {% ssi "/var/www/../../etc/passwd" %}

Dalam praktiknya ini bukan sangat masalah umum, ketika itu akan membutuhkan cetakan penulis untuk menaruh berkas `ssi` di variabel terkendali-pengguna, tetapi itu memungkinkan pada dasarnya.

## Mengurangi kerentenan pengerjaan kode-terpencil di `django.contrib.sessions`

`django.contrib.sessions` saat ini menggunakan `pickle` untuk menserialisasikan sesi data sebelum menyimpannya di backend. Jika anda sedang menggunakan signed cookie session backend dan `SECRET_KEY` diketahui oleh penyerang (tidak ada kerentanan melekat di Django yang menyebabkannya bocor), penyerang dapat memasukkan deretan karakter kedalam sesinya yang, ketika dibonglar, menjalankan kode berubah-ubah pada peladen. Teknik untuk melakukannya sangat sederhana dan mudah tersedia di internet. Meskipun penyimpanan sesi kue menandatangani data kue-disimpan untuk mencegah sabotase, bocoran `SECRET_KEY` segera meluas ke kerentanan pengerjaan kode terpencil.

Serangan ini dapat dikurangi dengan menserialisasikan sesi data menggunakan JSON daripada `pickle`. Untuk memudahkan ini, Django 1.5.3 memperkenalkan pengaturan baru, `SESSION_SERIALIZER`, untuk menyesuaikan bentuk serialisasi sesi. Untuk kesesuaian kebelakang, awalan pengaturan ini untuk menggunakan `pickle`. Selagi serialisasi JSON tidak mendukung semua obyek Python seperti `pickle` lakukan, kami sangat menganjurkan mengganti ke JSON-serialisasi nilai. Juga, seperti JSON membutuhkan kunci deretan karakter, anda akan sepertinya berjalan kedalam masalah jika anda menggunakan kuncu bukan-deretan karakter di `request.session`. Lihat dokumentasi Serialisasi sesi untuk rincian lebih.