今天发现自己的网站被一个使用iframe框架作为搜索引擎的网站调用,自己的域名被加密get附在它的网址后面,网上很多都是js屏蔽,今天找到了最全最完美的解决方案,你如果也遇到了这种情况,不妨参考一下。
1、Meta标签方法:
<meta http-equiv="X-FRAME-OPTIONS" content="DENY">
很多时候受浏览器的影响,不是很管用
2、js方法:
这种方法网上最多,但当对方屏蔽了Js就不可靠了!下面列举了5种Js代码供你参考。
<script type="text/javascript">
if(self != top) { top.location = self.location; }
</script>
<script type="text/javascript">
if(top!=self) {top.location.replace(document.location);}
</script>
<script type="text/javascript">
<!--
if (top.location.href != self.location.href)
top.location.href = self.location.href;
//-->
</script>
<script type="text/javascript">
if(top.location != window.location) {
window.location = '/error_iframe.php';
}
</script>
<script type="text/javascript">
if (window.top !== window.self) window.top.location.replace(window.self.location.href);
</script>
放到你的主题模板header.php文件中的标签前
3、PHP方法:
<?php header(‘X-Frame-Options:Deny'); ?>
放到你的主题模板header.php文件中的标签前
4、Apache主机方法:
如果有多个站点, 可在Apache主机的httpd.conf文件中加一句后重启生效:
Header always append X-Frame-Options SAMEORIGIN
5、.htaccess方法:
如果只是一个站点, 在网站根目录下的.htaccess文件中中加一句:
Header append X-FRAME-OPTIONS "SAMEORIGIN"
6、Nginx主机方法:
在nginx/conf/nginx.conf文件中加一句后重启生效:
add_header X-Frame-Options "SAMEORIGIN";
7、IIS方法:
在web.config文件中加:
<system.webServer>
...
<httpProtocol>
<customHeaders>
<add name="X-Frame-Options" value="SAMEORIGIN" />
</customHeaders>
</httpProtocol>
...
</system.webServer>
8、wordpress专用:
代码放入到主题 functions.php 文件中
function break_out_of_frames() {
if (!is_preview()) {
echo "\n<script type=\"text/javascript\">";
echo "\n<!--";
echo "\nif (parent.frames.length > 0) { parent.location.href = location.href; }";
echo "\n-->";
echo "\n</script>\n\n";
}
}
add_action('wp_head', 'break_out_of_frames');
9、java代码:
response.addHeader("x-frame-options","SAMEORIGIN");
根据你的网站的实际情况选择适合你的一种方式,希望对你有所帮助。
您可能感兴趣的文章:
▪ 第五课WordPress主题制作头部文件header.php制作