页面嵌入dom与被嵌入iframe的攻防
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了页面嵌入dom与被嵌入iframe的攻防相关的知识,希望对你有一定的参考价值。
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()。
以上是关于页面嵌入dom与被嵌入iframe的攻防的主要内容,如果未能解决你的问题,请参考以下文章
从 google-site 上的嵌入式(iframe)片段,引用存储在 google 驱动器上的 json 文件