为什么我不能在客户端获得'sessionid'?

时间:2012-09-15 10:18:45

标签: javascript django session cookies client-side-scripting

我登录django admin。当我打开 firebug JS控制台并尝试使用document.cookie打印Cookie时,我只获得csrftoken个Cookie。但是,当我打开Firefox首选项>隐私>删除Cookie ...然后我可以看到sessionid Cookie。

如何在客户端获得该功能?

1 个答案:

答案 0 :(得分:9)

您无法访问会话cookie,因为它默认设置为HTTPOnly。(您可以使用Firebug查看它(参见Resources-> Cookies-> sessionid的HTTP列))

docs

复制
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.

如果您真的想从客户端代码访问它,可以在settings.py中设置:SESSION_COOKIE_HTTPONLY = False。然而,这不是推荐的做法。