2011-08-30 83 views
4

我已经阅读了一些博客(抱歉没有提及参考,但我找不到它了),如果您将用户从https页面重定向到http页面,您将失去保护网站安全的所有工作。安全问题关于从HTTPS重定向到HTTP?

所以,可能有人请向我解释,如果我是对还是错在这里以下情形:

  • 是正确的做法是使用HTTPS登录页面上,然后重定向他管理页面以http ,或者这是否会造成安全问题,如Session Fixation劫持,窃取会话等?

  • 或者我还必须保持管理页面在https?

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

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

回答

1

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

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

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

5

在您的实例中(仅在使用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

+0

人真正伟大的答案,像亚马逊的例子提示,你能告诉我怎么当他回到像亚马逊这样的HTTPS领域时可以遣返用户? – DevMania