1

我正在开发一个简单的登录,它通过 javascript 在其他网站页面中显示。

第一次,我的脚本将登录页面作为内容 div 加载到页面中,但我意识到如果我打开登录的“其他站点页面”有一个简单的 JavaScript 函数“听”我插入的内容用户名和密码字段这可能对我的用户构成安全风险。

现在我改变了我的方式,我正在考虑使用一个脚本打开登录页面,该脚本将框架“注入”到页面中,例如使用 fancybox。

现在我的问题是:这种方式安全吗?或者“其他站点页面”可以使用一些脚本来捕获我的用户插入到框架登录中的帐户数据?

谢谢你

4

1 回答 1

0

无法使trusted-iframe untrusted-parent-page 模型变得安全。

作为 iframe,您完全受制于父页面。除了点击劫持攻击被用来破坏与框架内容的交互之外,还有一个问题是被要求登录的用户无法知道 iframe 是真实的。

在用户看来,登录表单是地址在地址栏中的站点的一部分;尽管某些浏览器确实提供了检查 iframe 并验证其来源的能力,但这并不是您可以合理地期望用户每次都遵循的操作过程。

如果您将敏感内容(例如登录表单)放入 iframe,您(和用户)必须完全信任包含站点,其名称显示在地址栏中。如果你不这样做,那么你将需要一个不同的模型。通常:通过登录页面重定向用户,例如在 OpenID 中,或打开一个弹出窗口。

您可以采取一些折衷措施来避免切换页面:例如,如果用户有一个 cookie,那么您可能会跳过登录表单,或者提供一个更简单的登录表单,要求提供与完整登录表单上请求的凭据不完整或不同的凭据. (想法是,如果包含站点确实以某种方式拦截了凭据,则进行完全登录是不够的;包含站点不会接触到包含站点的 cookie。)

于 2013-07-13T11:26:45.387 回答