【问题标题】:Django HTTPS and HTTP SessionsDjango HTTPS 和 HTTP 会话
【发布时间】:2010-12-25 01:27:33
【问题描述】:

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

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

在不必使整个站点 HTTPS 的情况下使其可用的最佳方法是什么?

【问题讨论】:

    标签: django http session https


    【解决方案1】:

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

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

    我可以想象这样一种情况,一个人不想要这两个,但它现在解决了我的问题。

    【讨论】:

      【解决方案2】:

      这是设计使然,不是您可以轻易更改的。

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

      请记住,这种未经身份验证的 cookie 以明文形式通过网络发送,会使您的用户面临欺骗和重放攻击。这对您的应用程序可能无关紧要。

      【讨论】:

        猜你喜欢
        • 2023-03-30
        • 2011-03-03
        • 2011-08-20
        • 1970-01-01
        • 2013-06-30
        • 1970-01-01
        • 2014-06-09
        • 2017-08-18
        • 2010-10-08
        相关资源
        最近更新 更多