已百度例为:在一个页面上包含另外一个页面内容
那么如何去防止自己的网站被别人恶意的iframe框架呢?
WordPress 专用:
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>nn"; } } add_action('wp_head', 'break_out_of_frames');
代码放入到主题 functions.php 文件中即可。
PHP 方法:
<?php header(‘X-Frame-Options:Deny'); ?>
放到主题模板 header.php 文件中的标签前。
Apache 主机方法:
Header always append X-Frame-Options SAMEORIGIN
这个方法适合有多个网站,在 Apache 主机的 httpd.conf 文件中加上这句后重启生效。
.htaccess 方法:
Header append X-FRAME-OPTIONS "SAMEORIGIN"
如果有一个站点的话用这个方法还是很方便的,我目前就是用的这个方法,在网站根目录下的 .htaccess 文件中加上这句就可以了。
IIS 方法:
<system.webServer> ... <httpProtocol> <customHeaders> <add name="X-Frame-Options" value="SAMEORIGIN" /> </customHeaders> </httpProtocol> ... </system.webServer>
在 web.config 文件中加上以上代码就可以了。
Nginx 主机方法:
add_header X-Frame-Options "SAMEORIGIN";
在 nginx/conf/nginx.conf 文件中加上这一句后重启服务器即可。
至此我们即可在本地创建一个x.html的文件文件内容如下,修改https://www.bAIdu.com为自己的网站即可发现不会在被iframe框架调用了
<Iframe src="https://www.baidu.com" width="550" height="500" scrolling="Auto" frameborder="0" name="main"></iframe>