使用 X-Frame-Options 拒绝网页被 Frame 嵌入

使用 X-Frame-Options HTTP 响应头可以设置是否允许网页被 <frame> 、<iframe> 或 <object> 标签引用,网站可以利用这点避免点击劫持(clickjacking),以确保网页内容不被嵌入到其他网站。

设置选项

X-Frame-Options 有三个可选值

DENY

不允许其他网页嵌入本网页

SAMEORIGIN

只能是同源域名下的网页

ALLOW-FROM uri

指定可以嵌入的地址

简单来说,设置了 DENY 则任何网页都不能嵌入(包括同一个网站的其他网页),设置了 SAMEORIGIN 则同域名的可以嵌入,指定某个地址可以嵌入使用 ALLOW-FROM uri 。

配置代码

PHP


header(‘X-Frame-Options:SAMEORIGIN’);

Apache


Header always append X-Frame-Options SAMEORIGIN

nginx


add_header X-Frame-Options SAMEORIGIN;

IIS


<system.webServer>
…
<httpProtocol>
<customHeaders>
<add name=”X-Frame-Options” value=”SAMEORIGIN” />
</customHeaders>
</httpProtocol>
…
</system.webServer>

返回内容

一般情况下如果拒绝嵌入,浏览器会返回空白页面(如 Chrome/Firefox),不过也有的会显示错误信息。

浏览器支持

绝大部分浏览器都支持,IE 则需要 IE8 或以上。

原文链接:http://www.dmeng.net/using-x-frame-options.html

热门文章