Django HTTPS和HTTP会话

时间:2009-12-09 23:21:41

标签: django http session https

我正在使用带有ssl重定向中间件的Django 1.1.1。

通过HTTPS创建的会话数据(身份验证等)在站点的HTTP部分中不可用。

在不必将整个网站设为HTTPS的情况下,使其可用的最佳方法是什么?

2 个答案:

答案 0 :(得分:4)

这是设计上的,而不是你可以随时改变的东西。

当通过HTTP查看同一站点时,浏览器不会发送通过HTTPS发送的Cookie /身份验证。您最好的解决方案可能是将用户从HTTPS页面重定向到设置身份验证cookie的HTTP页面。

请注意,这个未经身份验证的Cookie会以明文形式通过网络发送,让您的用户可以进行欺骗和重播攻击。这可能与您的申请无关。

答案 1 :(得分:0)

遇到了类似的问题。 #django IRC上的用户iiie向我指出了这个设置:

将此选项设置为".domain.com",我可以在HTTP / HTTPS之间以及域和主机/子域之间共享会话。

我可以想象一种情况,其中一个并不是那两个,但它现在解决了我的问题。