如何通过DOM / Javascript访问外部iframe的内容?

时间:2010-03-03 20:30:13

标签: javascript html dom iframe xss

我有一个页面:

<html>
    <head></head>
    <body>
        <iframe src="local.html"></iframe>
        <iframe src="http://www.google.com"></iframe>
    </body>
</html>

我已经使用DOM来访问第一个iframe作为测试(node.documentWindow),但是当我在外部iframe上尝试类似的时,Firebug报告访问被拒绝。

我怀疑这是用于XSS保护,但是有一种“安全”方式导入节点,所以我可以从该外部页面获取一个元素吗?有没有办法探索“渲染文档”或什么?

谢谢!

1 个答案:

答案 0 :(得分:13)

不。跨域安全性阻止了这一点。唯一的方法是,如果周围的网页和iframe位于同一个域中的不同子域中。在这种情况下,您可以使用document.domain

这几乎是一个给定的。如果不是这种情况,想象一下安全隐患。您可以构建包含用户主页银行页面的iframe,并使用keydown获取密码。滥用的可能性很大。