如何在iframe中获取javascript来修改父文档?
因此,我有两个文档dA和dB分别托管在两个不同的服务器sA和sB上 documentda有一些JS,它打开了一个iframe src'ing Document dB,上面有一个表单。当文档数据库中的表单提交给服务器sB上的表单处理程序时,我希望dA页上的iframe关闭 我希望这已经足够清楚了。有办法做到这一点吗 谢谢 -马拉如何在iframe中获取javascript来修改父文档?,javascript,iframe,Javascript,Iframe,因此,我有两个文档dA和dB分别托管在两个不同的服务器sA和sB上 documentda有一些JS,它打开了一个iframe src'ing Document dB,上面有一个表单。当文档数据库中的表单提交给服务器sB上的表单处理程序时,我希望dA页上的iframe关闭 我希望这已经足够清楚了。有办法做到这一点吗 谢谢 -马拉 更新:除了通过插入的javascript,我无法控制dA或sA。由于浏览器/javascript安全沙箱策略,这不可能实现。也就是说,有可能通过一些黑客技术超越这些限制。
更新:除了通过插入的javascript,我无法控制dA或sA。由于浏览器/javascript安全沙箱策略,这不可能实现。也就是说,有可能通过一些黑客技术超越这些限制。有各种各样的方法,有些涉及到Flash 如果可能的话,我建议您不要这样做,但如果您必须这样做,我建议您使用此处提到的DNS方法: 主要摘录: 假设域D想要 连接到域E。简而言之, 诀窍是使用DNS指向 D的子域,D_s,到E的服务器。 在这样做的过程中,D_s承担了责任 E的特征,同时 D
由于浏览器/JavaScript安全沙箱策略,这是不可能的。也就是说,有可能通过一些黑客技术超越这些限制。有各种各样的方法,有些涉及到Flash 如果可能的话,我建议您不要这样做,但如果您必须这样做,我建议您使用此处提到的DNS方法: 主要摘录: 假设域D想要 连接到域E。简而言之, 诀窍是使用DNS指向 D的子域,D_s,到E的服务器。 在这样做的过程中,D_s承担了责任 E的特征,同时 D
这样做的机制可能会导致跨站点脚本攻击(因为您可以做的不仅仅是删除页面内容中的良性内容)
一种安全的方法将限制为只清空/隐藏iframe文档本身,但如果包含它的iframe大小固定,则页面上只会出现一个空白点 这样做的机制可能会导致跨站点脚本攻击(因为您可以做的不仅仅是删除一点良性的页面内容)
一种安全的方法将限制为只清空/隐藏iframe文档本身,但如果包含它的iframe大小固定,则页面上只会出现一个空白点 如果您无法控制dA或Sa,由于浏览器安全限制,这是不可能的。甚至闪存方法也需要访问两台服务器 如果您无法控制dA或Sa,由于浏览器安全限制,这是不可能的。甚至闪存方法也需要访问两台服务器 假设我创建了一个页面,该页面包含一个覆盖整个页面的框架。 在yourbank.com上创建一个链接,然后单击该链接。现在,如果我可以使用javascript修改框架(银行网站)的内容,我将能够非常轻松地读取您正在使用的密码,并将其存储在cookie中,发送到我的服务器,等等 这就是您无法修改另一个框架中的内容的原因,该框架的内容不来自同一域。但是,如果它们来自同一个域,您应该能够根据需要对其进行修改(两个页面都必须位于您的服务器上) 您应该能够使用以下代码访问iframe:
window["iframe_name"].document.body
假设我创建了一个页面,其中包含一个覆盖整个页面的框架。 在yourbank.com上创建一个链接,然后单击该链接。现在,如果我可以使用javascript修改框架(银行网站)的内容,我将能够非常轻松地读取您正在使用的密码,并将其存储在cookie中,发送到我的服务器,等等 这就是您无法修改另一个框架中的内容的原因,该框架的内容不来自同一域。但是,如果它们来自同一个域,您应该能够根据需要对其进行修改(两个页面都必须位于您的服务器上) 您应该能够使用以下代码访问iframe:
window["iframe_name"].document.body
其他人解释了安全问题。但是这个问题是合理的,有这样的用例,在某些场景中可以做你想做的事情 W3C在
文档
上定义了一个名为域
的属性,用于检查安全权限。这一属性可以由两个文档协同操作,因此在某些情况下它们可以相互访问
管理文件是。看看正如您所看到的,这个属性是在那里定义的,并且…它是只读的。实际上,所有浏览器都允许修改它:
- Mozilla的
- 微软的
document.domain = "yourdomain.com";
现在,您可以从不同的子域为它们提供服务,而不会丢失它们的可访问性
显然,你应该注意时间问题。如果您建立某种通知协议,则可以避免这些问题。例如,一个页面(母版)设置其域,然后加载另一个页面(服务器)。当服务器运行时,它会更改其域并访问主机,从而触发某些功能。其他人解释了安全含义。但是这个问题是合理的,有这样的用例,在某些场景中可以做你想做的事情 W3C在
文档
上定义了一个名为域
的属性,用于检查安全权限。这一属性可以由两个文档协同操作,因此在某些情况下它们可以相互访问
管理文件是。看看尽你所能