在SSL页面中使用SSL iframe是否安全。 SSL框架包含一个表单。
答案 0 :(得分:8)
HTTPS提供的安全性的一个重要部分是验证您正在与之通话的服务器的身份。这是由verifying that the certificate is genuine and that it matches the requested host name完成的。
虽然验证的大多数方面都是在浏览器中完成的(PKI验证和主机名匹配验证),但最后一步是用户界面的观点,必须由用户直观地完成。检查用户在打算使用HTTPS时是否正确使用HTTPS完全是他们的责任。
如果您打算转到https://www.google.com/
,但键入https://www.g-o-o-o-o-o-gle.com
,则两者都可以拥有正版证书(现在任何人都可以获得证书,即使是攻击者,奖励也值得投资)。用户可以确保他们访问他们打算访问的网站。
通过在另一个页面中嵌入带有https://
链接的iframe(实际上是HTTPS或不是),您将阻止用户验证他们是否正在连接到目标网站。期望用户检查页面DOM以确保请求发送到他们期望它去的主机是不现实的。在这个阶段,用户几乎无法验证iframe中站点的身份:他们真的必须信任嵌入者。
这方面的一个很好的例子来自银行业,不过没有,这给了我们3-D Secure。商家网站应包含您的银行在iframe中提供的页面,要求您输入密码以检查信用卡的使用情况。 但是,作为用户,您必须对商家网站投入大量信任,因为它可以很好地将您重定向到其控制下的网站,并将所有请求代理到真正的银行网站。它看起来就像真正的银行网站,但商家(或同事)可以看到你输入的所有内容。并非每个用户都可以使用像Firebug这样的开发人员工具(即使对于开发人员来说,如果涉及到一些JS,也很难跟踪发生的事情)。 (这有点遗憾,因为不幸的是,这个系统的目标之一正是为了防止对不良商家网站的欺诈。)
如果您在HTTPS页面中嵌入了HTTPS iframe,则可以有效地保证其内容及其与之交互(就像您嵌入的任何其他内容一样)。用户只能验证您的证书,而不是嵌入的证书。这带来了一定的责任。