访问不同域中的iframe元素

时间:2009-05-08 21:50:38

标签: javascript iframe xss policy capability

我了解跨站脚本(xss)并不好,大多数浏览器都不支持。但是,我正在构建一个页面,仅供我公司内约3或4人使用。在这个页面上,我有一个来自另一个域的框架,我需要父页面才能访问该框架内的值。

所以我的问题是,有没有办法(更改设置等),在Firefox或IE7中,允许这种情况发生?优选地(但不一定)任何设置更改将明确地针对我的域。

我在网上找到了一些帮助,说在FF中你可以添加capability.policy来实现这一点。我没有运气,也许FF3不支持。

3 个答案:

答案 0 :(得分:1)

对于那些正在寻找的人来说,有一种很好的向后兼容,仅限javascript的方式跨域通信。简短易用的代码。完美解决方案只要您对父母和孩子进行了修改请求:

http://www.onlineaspect.com/2010/01/15/backwards-compatible-postmessage/

答案 1 :(得分:0)

我头脑中的几个想法:

  • 在IE中,您可以更改站点所在安全区域的设置。我建议您将域添加到“受信任的站点”,然后确保“”跨域访问数据源。“已启用对于可信站点区域。您可以找到更多信息here.

  • 如果您有一个可以控制的域名,也许您可​​以设置指向不同帧中的网站的子域名?从而欺骗网络浏览器,他们是同一网站的一部分?

  • 如果您喜欢编码,可以创建一个自定义应用程序,该应用程序使用IE浏览器控件并实现自己的IInternetSecurityManager(http://msdn.microsoft.com/en-us/library/ms537130(VS.85).aspx),允许跨域脚本访问。

答案 2 :(得分:0)

另一种选择是设置代理页面,使页面看起来来自同一个域。代理页面可能非常容易受到XSS的攻击,具体取决于实现。即使您声明这不是一个问题,但重要的是要考虑。