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

!本文可能 超过1年没有更新,今后内容也许不会被维护或者支持,部分内容可能具有时效性,涉及技术细节或者软件使用方面,本人不保证相应的兼容和可操作性。

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

对于禁止网页被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
6
7
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等。

若无特别说明,本网站文章均为原创,原则上这些文章不允许转载,但是如果阁下是出于研究学习目的可以转载到阁下的个人博客或者主页,转载遵循创作共同性“署名-非商业性使用-相同方式共享”原则,请转载时注明作者出处谢绝商业性、非署名、采集站、垃圾站或者纯粹为了流量的转载。谢谢合作!

请稍后...

发表评论

电子邮件地址不会被公开。 必填项已用*标注