1、什么是网页被Frame
网页被Frame是指我的网页被以iframe的形式拿来嵌入到别人网页里,帮助别人提升流量。
做法是在自己网页中放入
<iframe src="http://www.lvkunjie.com"></iframe>
这样别人就嵌入了我的网页。
2、如何防止网页被Frame
方法一、在网页head标签内加入以下代码:
<script> if (top.location != self.location) { top.location = self.location; } </script>
如果网页不是最顶层,那么网页跳转最顶层。
方法二、在网页head标签内加入以下代码:
<script> if (window != top) { top.location.href = window.location.href; } </script>
有网友提供了另一种方法,也是在网页head标签内加入代码,代码如下:
<script> (function () { if (window != window.top) { window.top.location.replace(window.location); } })() </script>
但是此方法可破解,破解就是在自己的header标签内容加入如下代码
<script> var location = document.location; </script>
原理就是全局变量指向本页面。
方法三、使用HTTP响应头信息中的X-Frame-Options属性
使用 X-Frame-Options 有三个可选的值:
DENY:浏览器拒绝当前页面加载任何Frame页面
SAMEORIGIN:frame页面的地址只能为同源域名下的页面
ALLOW-FROM:origin为允许frame加载的页面地址
具体的设置要在服务端进行,摘抄设置代码如下:
Apache配置:
Header always append X-Frame-Options SAMEORIGIN
nginx配置:
add_header X-Frame-Options SAMEORIGIN;
IIS配置:
<system.webServer> ... <httpProtocol> <customHeaders> <add name="X-Frame-Options" value="SAMEORIGIN" /> </customHeaders> </httpProtocol> ... </system.webServer>