Django HTTPS 和 HTTP 会话

4

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

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

最好的方法是使其可用而无需将整个站点设置为HTTPS。

2个回答

4

这是有意设计的,您无法轻易更改。

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

请记住,此未经身份验证的Cookie以明文形式通过网络发送,会使您的用户容易受到欺骗和重放攻击。这对于您的应用程序可能并不重要。


0

我一直有一个类似的问题。Django IRC上的用户iiie指向了我这个设置:

将此选项设置为".domain.com"使我能够在HTTP / HTTPS之间共享会话,以及跨域和主机/子域。 我可以想象有一种情况,其中一个人不希望两者都出现,但它暂时解决了我的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接