首页 > 代码库 > 页面嵌入dom与被嵌入iframe的攻防

页面嵌入dom与被嵌入iframe的攻防

1.情景一:自己的页面被引入(嵌入)至别人的页面iframe中


 

if(window.self != window.top){  //url是自己页面的url  window.top.location.href =http://www.mamicode.com/ url }

通过顶层框架的判断,得知自己所在的框架是否是顶层框架。来判断自己页面所在的情况。

 

知识点:不同域中的iframe不能相互访问。

比如我们的页面在别人的页面iframe中,我们的页面跟别人的页面就在不同的域中。

这时候我们通过window.top.location是无法访问location对象的属性的。

但是我们可以设置window.top.location.href。

 

2.情景二:我们自己的页面被别的js攻击,写入了一个dom。


 

 <iframe style="line-height: 1.5; width: 500px;" src="http://codepen.io/zhaoqize/embed/bwWbRa/?height=300&theme-id=25664&default-tab=result&embed-version=2" frameborder="no" scrolling="no" width="320" height="300"></iframe>

 使用html5最新提供的MutationObserver,可以监控你所选择的dom区域的dom变动。

 这样我们就可以检测到插入的是什么节点,并且获取节点。

 比如插入的一段script,script中只有一个alert(),那就非常危险了。检测到后进行removeChild()。

 

页面嵌入dom与被嵌入iframe的攻防