在 SSL 页面中使用 SSL iframe 是否安全。SSL 框架包含一个表单。
1 回答
HTTPS 提供的安全性的一个重要部分是验证您正在与之交谈的服务器的身份。这是通过验证证书是真实的并且它与请求的主机名匹配来完成的。
尽管大多数方面的验证都是在浏览器内完成的(PKI 验证和主机名匹配验证),但最后一步是从用户界面的角度来看,并且必须由用户直观地完成。检查用户在打算使用 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,那么您实际上是在保证其内容以及与它的交互(就像您对嵌入的任何其他内容所做的那样)。只能期望用户验证您的证书,而不是嵌入的证书。这带有一定的责任。