Django HTTPS和HTTP会话

9 浏览
0 Comments

Django HTTPS和HTTP会话

我正在使用Django 1.1.1和ssl重定向中间件。

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

在不必使整个网站都使用HTTPS的情况下,有什么最好的方法可以使其可用?

0
0 Comments

问题的出现原因是:无法在HTTP和HTTPS之间共享会话。

解决方法是:设置SESSION_COOKIE_DOMAIN选项为".domain.com",这样可以在HTTP和HTTPS之间共享会话,也可以跨域和主机/子域共享会话。

0
0 Comments

问题的原因:通过HTTPS发送的cookie/身份验证在通过HTTP查看相同网站时不会被浏览器发送。

解决方法:将用户从HTTPS页面重定向到设置身份验证cookie的HTTP页面。

需要注意的是,通过明文在网络上发送的未经身份验证的cookie会使用户容易受到欺骗和重放攻击。这对于您的应用程序可能并不重要。

0