2

最近我在我正在处理的网站上安装了一个证书。我已经尽可能多地使用 HTTP,但是在您登录后,它必须保持在 HTTPS 中以防止会话劫持,不是吗?

不幸的是,这会导致谷歌地图出现一些问题;我在 IE 中收到警告说“此页面包含不安全的内容”。我认为我们现在买不起 Google Maps Premier 来获得他们的安全服务。

它有点像一个拍卖网站,因此人们不会因为一些黑客进入他们的帐户而不会因为他们没有购买的东西而被收费,这一点相当重要。不过,所有付款都是通过 PayPal 完成的,所以我没有保存任何类型的信用卡信息,但我保留了个人联系信息。如果发生这种情况,欺诈性指控很容易被撤销。

你们建议我做什么?我是否应该将网站的大部分内容从 HTTPS 中移除,而只保护某些页面,例如您输入密码的地方,仅此而已?这就是我们的竞争对手似乎在做的事情。

4

3 回答 3

4

这就是问题所在,以及为什么银行仍然非常容易受到攻击:他们的登录页面是 HTTP,所以它可能是中间人。然后他们有一个登录链接,登录页面是HTTPS。

所以如果你直接进入登录页面,你就不可能是中间人。但是如果你去主页/登陆页面,因为我控制它,我将把登录页面链接重写为 HTTP。然后我将与登录页面进行 SSL 握手,并向您(用户)发送不安全的版本。所以现在你(用户)在做你所有的敏感交易——服务器认为它是 HTTPS——而我在中间做恶作剧。

这是一个很难完全解决的问题,因为它一直到服务器端的 DNS 级别,一直到客户端浏览器中的默认操作。

作为内容提供者,您可以尝试使用 javascript 来检查您网站的安全区域是否被安全访问(并希望我,作为一个破解者,在转发之前不要删除该 js)。您还可以包含您快乐的“请确保通过 https 访问此站点”横幅。

作为用户,NoScript 可以选择确保网站采用 HTTPS。

有一种新技术(我相信它可能是 DNS 条目上的标记?)并非所有客户端/服务器都支持它让服务器选择加入并说它只能通过 HTTPS 访问,如果它被 MITM-ed 死去。虽然我一生都无法回忆或无法在谷歌上找到它......

于 2010-05-24T18:51:56.743 回答
2

我会从 HTTPS 中删除大部分网站,当然也有一些例外:

  1. 任何结帐或帐户编辑屏幕。
  2. 任何会显示“敏感”信息的屏幕。

为了解决会话劫持问题,我将添加另一层身份验证,您可以在结帐时或每当他们尝试查看/更新帐户信息时再次提示他们输入用户名和密码 - 基本上是在您从 http 转换到 https 时。

于 2010-05-24T18:46:36.257 回答
1

是的,我只会使用 SSL 来保护重要元素,例如输入字段、密码等。我相信大多数网站都是这样做的,包括在线银行网站。

于 2010-05-24T18:42:52.413 回答