【问题标题】:Security concerns about redirecting from HTTPS to HTTP?从 HTTPS 重定向到 HTTP 的安全问题?
【发布时间】:2011-08-30 12:11:46
【问题描述】:

我在一些博客上读到(很抱歉没有提及参考,但我再也找不到了)如果您将用户从https 页面到 http 页面。

那么,如果我在以下情况下是对还是错,有人可以向我解释一下:

  • 在登录页面上使用 https 然后通过 http 将他重定向到管理页面是正确的做法,还是会产生诸如 Session Fixation 劫持、窃取会话等安全问题?

  • 或者我必须将管理页面也保留在 https 中吗?

问题的另一方面是:https 允许缓存静态文件吗?

我在这里阅读了其他文章,但我仍然感到困惑,因为有人说“是”,有人说“不是”;也有人说这取决于浏览器。

【问题讨论】:

    标签: https security


    【解决方案1】:

    在您的实例中(仅使用 HTTPS 保护 login 页面)虽然登录详细信息将受到保护(例如用户名/密码),但您的用户将容易受到会话劫持。

    您是混合使用 HTTP/HTTPS 还是完整的 HTTPS 取决于您的情况。例如,亚马逊将使用 HTTPS 登录,但您将使用 HTTP 浏览网站,但一旦您进入敏感区域(订单详情屏幕、更改帐户/密码详情等),它就会切换到 HTTPS 并询问你重新认证。 在从 HTTP 切换到 HTTPS 后重新对用户进行身份验证是阻止会话劫持的关键,因为您实际上是在发布新的会话令牌。因此,如果用户窃取了会话令牌,他们仍然不会有您的用户名/密码,但无法访问您的帐户部分。

    如果管理区域特别敏感,那么只需 HTTPS 即可。 Google 发现使用完整 HTTPS 的开销在 CPU 上的开销在 1-5% 之间,基本上几乎没有。

    至于在 HTTPS 上缓存静态文件我不确定,但这篇 SO 帖子建议它会正常缓存 Will web browsers cache content over https

    【讨论】:

    • 男人真的很棒的答案和像亚马逊这样的例子的提示,你能告诉我当他回到像亚马逊这样的 HTTPS 区域时我如何遣返用户吗?
    【解决方案2】:

    一切都必须与 https 一起使用。如果你切换到http,每个人都可以看到正在发送的内容,这意味着你提到的那些安全问题就会出现。

    原因是您必须识别您的客户才能在您的管理站点中分配访问权限。这样做的一种可能性是发回一个令牌(一些哈希或其他)。根据您知道的令牌是否是经过身份验证的客户端。但是其他人确实看到了这个令牌 => 安全问题。

    当然,您可以使用之前的 https 会话来交换私钥。并使用它以某种方式加密您的 http 内容。但这是个坏主意,因为 https 这样做更方便..

    【讨论】:

      猜你喜欢
      • 2013-03-28
      • 1970-01-01
      • 2012-12-26
      • 1970-01-01
      • 2015-09-08
      • 2013-11-02
      • 2017-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多