您的位置:首页 > 运维架构

防止自己的网页被iframe框架引用(X-Frame-Options)

2011-10-20 06:57 621 查看

防止自己的网页被iframe框架引用

frame框架, 前端安全

我要评论

March 15, 2011

前端开发与脚本

对于一些安全要求较高的网站,往往不希望自己的网页被另外非授权网站框架包含,因为这往往是危险的,因为不法分子总是想尽办法以“钓鱼”的方式牟利。

对于禁止网页被frame或者iframe框架,我总结了下面三种方法供大家参考。

1.使用meta元标签

1
2
3
4
5
6

<html>
<head>
<meta http-equiv="Windows-Target" contect="_top">
</head>
<body></body>
</html>

这个方法的具体效果不是很清楚的,貌似之前试过一次,但是没有效果,可能浏览器太旧了吧。

2.使用JavaScript脚本

1
2
3
4
5
67
8

function location_top(){
if(top.location!=self.location){
top.location=self.location;
return false;
}
return true;
}
location_top(); // 调用

这个方法用得比较多,但是网上的高手也想到了破解的办法,那就是在父框架中加入脚本var location=document.location或者var location="",所以这个方法也就不推荐了,当然唬唬不懂的还是可以的。

3.使用HTTP响应头

这里介绍的响应头是X-Frame-Options,这个属性可以解决使用js判断会被var location;破解的问题,IE8、Firefox3.6、Chrome4以上的版本均能很好的支持,关于这个响应头属性详细的介绍可以看《The X-Frame-Options response header》

,这篇文章给出了这个属性两个可能的值:

DENY The page cannot be displayed in a frame, regardless of the site attempting to do so.
SAMEORIGIN The page can only be displayed in a frame on the same origin as the page itself.

其中我们用到DENY,这样就禁止该页在上述支持的浏览器被框架引用了。当然设置header响应头的办法有很多,比如PHP的header函数和.htaccess的Header set等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: