2012-09-15 21 views
5

Django admin'e giriş yapıyorum. firebug JS konsolunu açıp document.cookie ile çerezleri yazdırmayı denediğimde, yalnızca csrftoken çerezi aldım. Ancak Firefox tercihlerini> Gizlilik> Çerezi sil ... seçeneğini açtığımda, sessionid çerezini görebiliyorum.İstemci tarafında neden 'sessionid' alamıyorum?

İstemci tarafında nasıl bulunur? o HTTPOnly ayarlı varsayılan olarak çünkü

cevap

9

Sen oturum tanımlama erişemez docs den

Kopyalama (Bunu Firebug (Kaynaklar-> Cookies-> en sessionid HTTP sütun kontrol edilir) kullanarak görebilir):.

SESSION_COOKIE_HTTPONLY 
Default: True 

Whether to use HTTPOnly flag on the session cookie. 
If this is set to True, client-side JavaScript will not to 
be able to access the session cookie. 

sen ayarlayabilirsiniz: SESSION_COOKIE_HTTPONLY = False sizin settings.py içinde gerçekten istemci tarafı kodundan erişmesini istiyorum. Yine de önerilen bir uygulama değildir.

+4

Uygulama önerilmemesinin nedeninin, sitenizin bir şekilde XSS'ye duyarlı olması durumunda, saldırganın oturum kimliklerini çalmak için kullanabileceğini bilmeniz yeterlidir. Tabii ki, oturum kimliği JS arazisine maruz kalmazsa, bu mümkün değildir. –

+0

Dokümanlardan başka bir not: "Bunu bırakmak için fazla bir mazeret yok: ya da kodunuz JavaScript'ten oturum çerezlerini okumaya bağlıysa, muhtemelen yanlış yapıyorsunuzdur." – cs01

İlgili konular