2019
09-03

nginx、apache、iis、.htaccess增加X-Frame-Options配置禁止iframe嵌套防止别人镜像自己的网站

路由器交流群

防止网页被Frame,方法有很多种;

由于嵌入iframe的嵌入 使得网站变的更不安全, 如何能防止网页禁止被iframe嵌入呢?

nginx、apache、iis、.htaccess增加X-Frame-Options配置

首先看下知名网站使用的方法

这个是淘宝使用的方法

if(window.top !== window.self){ window.top.location = window.location;}

有时候站长不希望自己网页页面被其他站的FRAME嵌套进去, 这时候就需要的HTTP协议头里增加X-Frame-Options这一项。

X-Frame-Options的值有三个:

(1)DENY --- 表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。

(2)SAMEORIGIN --- 表示该页面可以在相同域名页面的 frame 中展示。

(3)ALLOW-FROM https://example.com/ --- 表示该页面可以在指定来源的 frame 中展示。

下面是重点:

NGINX配置X-Frame-Options响应头的方法

把下面这行添加到nginx的站点配置文件中,加到'http', 'server' 或者 'location' 的配置中均可。

add_header X-Frame-Options SAMEORIGIN;

方法一:常见的比如使用js,判断顶层窗口跳转

js 代码:

(function () {    if (window != window.top) {        window.top.location.replace(window.location); //或者干别的事情    }})();

一般这样够用了,但是有一次发现失效了,看了一下人家网站就是顶层窗口中的代码,发现这段代码:

js 代码:

var location = document.location;// 或者 var location = ""; 

轻轻松松被破解了,悲剧。

注:此方式破解对IE6,IE7,IE9+、Chrome、firefox无效; 感谢@genify和@_Franky?补充斧正。

方法二:meta 标签:基本没什么效果,所以也放弃了

html 代码:

<meta http-equiv="Windows-Target" contect="_top">

方法三:使用HTTP 响应头信息中的 X-Frame-Options属性

使用 X-Frame-Options 有三个可选的值:

DENY:浏览器拒绝当前页面加载任何Frame页面

SAMEORIGIN:frame页面的地址只能为同源域名下的页面

ALLOW-FROM:origin为允许frame加载的页面地址

绝大部分浏览器支持:

Feature

Chrome

Firefox (Gecko)

Internet Explorer

Opera

Safari

Basic support    4.1.249.1042    3.6.9 (1.9.2.9)    8.0    10.5    4.0    

禁止网站被别人通过iframe引用嵌套具体的设置方法

Apache配置

配置 Apache 在所有页面上发送 X-Frame-Options 响应头,需要把下面这行添加到 'site' 的配置中

Header always append X-Frame-Options SAMEORIGIN

nginx配置

配置 nginx 发送 X-Frame-Options 响应头,把下面这行添加到 'http', 'server' 或者 'location' 的配置中

add_header X-Frame-Options SAMEORIGIN;

IIS配置

添加下面的配置到 Web.config 文件中

<system.webServer>

 ...  

    <httpProtocol>

        <customHeaders>

            <add name="X-Frame-Options" value="SAMEORIGIN" />

        </customHeaders>

    </httpProtocol>

...

</system.webServer>

.htaccess方法

在网站根目录下的.htaccess文件中中加一句

Header append X-FRAME-OPTIONS "SAMEORIGIN"

您可能感兴趣的文章

免费支持本站

支付宝打赏支付宝打赏微信打赏微信打赏

本文》有 0 条评论

留下一个回复 (您的评论需要经过审核才能显示)