?
This document uses PHP Chinese website manual Release
所述X-Frame-Options
HTTP 響應(yīng)報(bào)頭可以被用來指示一個(gè)瀏覽器是否應(yīng)該被允許在一個(gè)以呈現(xiàn)頁面<frame>
,<iframe>
或<object>
。通過確保其內(nèi)容未嵌入其他網(wǎng)站,網(wǎng)站可以使用此功能來避免 點(diǎn)擊劫持 攻擊。
只有當(dāng)訪問文檔的用戶使用瀏覽器支持時(shí)才提供附加的安全性X-Frame-Options
。
Header type | Response header |
---|---|
Forbidden header name | no |
X-Frame-Options
有三種可能的指示:
X-Frame-Options: DENY X-Frame-Options: SAMEORIGIN X-Frame-Options: ALLOW-FROM https://example.com/
如果指定DENY
,從其他站點(diǎn)加載時(shí),不僅嘗試在框架中加載頁面失敗,從同一站點(diǎn)加載時(shí)嘗試這樣做將失敗。另一方面,如果指定SAMEORIGIN
,只要包含在框架中的站點(diǎn)與為頁面提供服務(wù)的站點(diǎn)相同,仍然可以在框架中使用該頁面。
DENY
無論站點(diǎn)嘗試這樣做,頁面都不能顯示在框架中。SAMEORIGIN
該頁面只能顯示在與頁面本身相同的源框架中。ALLOW-FROM
_ uri
_頁面只能顯示在指定原點(diǎn)的框架中。
注意:設(shè)置元標(biāo)記是沒用的!例如,<meta http-equiv="X-Frame-Options" content="deny">
沒有效果。不要使用它!只有像下面的例子那樣設(shè)置HTTP頭X-Frame-Options
才能工作。
要配置 Apache X-Frame-Options
為所有頁面發(fā)送標(biāo)題,請(qǐng)將其添加到您網(wǎng)站的配置中:
Header always append X-Frame-Options SAMEORIGIN
要配置 Apache 來設(shè)置X-Frame-Options
拒絕,請(qǐng)將其添加到您網(wǎng)站的配置中:
Header set X-Frame-Options DENY
要配置 Apache 以將其設(shè)置X-Frame-Options
為ALLOW-FROM
特定主機(jī),請(qǐng)將其添加到您網(wǎng)站的配置中:
Header set X-Frame-Options "ALLOW-FROM https://example.com/"
要配置 nginx 發(fā)送X-Frame-Options
頭文件,請(qǐng)將其添加到您的
http,服務(wù)器或位置配置中:
add_header X-Frame-Options SAMEORIGIN;
要配置 IIS 發(fā)送X-Frame-Options
標(biāo)題,請(qǐng)?zhí)砑哟苏军c(diǎn)的Web.config
文件:
<system.webServer> ... <httpProtocol> <customHeaders> <add name="X-Frame-Options" value="SAMEORIGIN" /> </customHeaders> </httpProtocol> ...</system.webServer>
要配置 HAProxy 發(fā)送X-Frame-Options
標(biāo)題,請(qǐng)將其添加到前端,監(jiān)聽或后端配置中:
rspadd X-Frame-Options:\ SAMEORIGIN
Specification | Title |
---|---|
RFC 7034 | HTTP Header Field X-Frame-Options |
Feature | Chrome | Firefox | Edge | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic Support | 4.0 | 3.6.9 | (Yes) | 8.0 | 10.50 | 4.0 |
ALLOW-FROM | (No) | 18 | ? | 8.0 | ? | (Yes) |
Feature | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
Basic Support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
ALLOW-FROM | ? | ? | ? | ? | ? | ? | ? |