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

时间:2023-01-27 07:29:49

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


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

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

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

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

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

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

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


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

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

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