---
title: "Catatan terbitan Django 1.5.3"
version: 2.0
locale: id
source: https://docs.djangoproject.com/id/2.0/releases/1.5.3/
canonical: https://djangodocs.dev/id/2.0/releases/1.5.3/
---
# 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`](/id/2.0/topics/http/sessions/#module-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:

```html+django
{% 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`](/id/2.0/topics/http/sessions/#module-django.contrib.sessions)

[`django.contrib.sessions`](/id/2.0/topics/http/sessions/#module-django.contrib.sessions) saat ini menggunakan [`pickle`](https://docs.python.org/3/library/pickle.html#module-pickle) untuk menserialisasikan sesi data sebelum menyimpannya di backend. Jika anda sedang menggunakan [signed cookie session backend](/id/2.0/topics/http/sessions/#cookie-session-backend) dan [`SECRET_KEY`](/id/2.0/ref/settings/#std-setting-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`](/id/2.0/ref/settings/#std-setting-SECRET_KEY) segera meluas ke kerentanan pengerjaan kode terpencil.

Serangan ini dapat dikurangi dengan menserialisasikan sesi data menggunakan JSON daripada [`pickle`](https://docs.python.org/3/library/pickle.html#module-pickle). Untuk memudahkan ini, Django 1.5.3 memperkenalkan pengaturan baru, [`SESSION_SERIALIZER`](/id/2.0/ref/settings/#std-setting-SESSION_SERIALIZER), untuk menyesuaikan bentuk serialisasi sesi. Untuk kesesuaian kebelakang, awalan pengaturan ini untuk menggunakan [`pickle`](https://docs.python.org/3/library/pickle.html#module-pickle). Selagi serialisasi JSON tidak mendukung semua obyek Python seperti [`pickle`](https://docs.python.org/3/library/pickle.html#module-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](/id/2.0/topics/http/sessions/#session-serialization) untuk rincian lebih.
