?
本文檔使用 php中文網(wǎng)手冊(cè) 發(fā)布
所述X-Frame-Options
HTTP 響應(yīng)報(bào)頭可以被用來(lái)指示一個(gè)瀏覽器是否應(yīng)該被允許在一個(gè)以呈現(xiàn)頁(yè)面<frame>
,<iframe>
或<object>
。通過(guò)確保其內(nèi)容未嵌入其他網(wǎng)站,網(wǎng)站可以使用此功能來(lái)避免 點(diǎn)擊劫持 攻擊。
只有當(dāng)訪問(wèn)文檔的用戶(hù)使用瀏覽器支持時(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í),不僅嘗試在框架中加載頁(yè)面失敗,從同一站點(diǎn)加載時(shí)嘗試這樣做將失敗。另一方面,如果指定SAMEORIGIN
,只要包含在框架中的站點(diǎn)與為頁(yè)面提供服務(wù)的站點(diǎn)相同,仍然可以在框架中使用該頁(yè)面。
DENY
無(wú)論站點(diǎn)嘗試這樣做,頁(yè)面都不能顯示在框架中。SAMEORIGIN
該頁(yè)面只能顯示在與頁(yè)面本身相同的源框架中。ALLOW-FROM
_ uri
_頁(yè)面只能顯示在指定原點(diǎn)的框架中。
注意:設(shè)置元標(biāo)記是沒(méi)用的!例如,<meta http-equiv="X-Frame-Options" content="deny">
沒(méi)有效果。不要使用它!只有像下面的例子那樣設(shè)置HTTP頭X-Frame-Options
才能工作。
要配置 Apache X-Frame-Options
為所有頁(yè)面發(fā)送標(biāo)題,請(qǐng)將其添加到您網(wǎng)站的配置中:
Header always append X-Frame-Options SAMEORIGIN
要配置 Apache 來(lái)設(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)聽(tīng)或后端配置中:
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 | ? | ? | ? | ? | ? | ? | ? |