?
Dokumen ini menggunakan Manual laman web PHP Cina Lepaskan
所述X-Frame-Options
HTTP 響應(yīng)報頭可以被用來指示一個瀏覽器是否應(yīng)該被允許在一個以呈現(xiàn)頁面<frame>
,<iframe>
或<object>
。通過確保其內(nèi)容未嵌入其他網(wǎng)站,網(wǎng)站可以使用此功能來避免 點擊劫持 攻擊。
只有當訪問文檔的用戶使用瀏覽器支持時才提供附加的安全性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
,從其他站點加載時,不僅嘗試在框架中加載頁面失敗,從同一站點加載時嘗試這樣做將失敗。另一方面,如果指定SAMEORIGIN
,只要包含在框架中的站點與為頁面提供服務(wù)的站點相同,仍然可以在框架中使用該頁面。
DENY
無論站點嘗試這樣做,頁面都不能顯示在框架中。SAMEORIGIN
該頁面只能顯示在與頁面本身相同的源框架中。ALLOW-FROM
_ uri
_頁面只能顯示在指定原點的框架中。
注意:設(shè)置元標記是沒用的!例如,<meta http-equiv="X-Frame-Options" content="deny">
沒有效果。不要使用它!只有像下面的例子那樣設(shè)置HTTP頭X-Frame-Options
才能工作。
要配置 Apache X-Frame-Options
為所有頁面發(fā)送標題,請將其添加到您網(wǎng)站的配置中:
Header always append X-Frame-Options SAMEORIGIN
要配置 Apache 來設(shè)置X-Frame-Options
拒絕,請將其添加到您網(wǎng)站的配置中:
Header set X-Frame-Options DENY
要配置 Apache 以將其設(shè)置X-Frame-Options
為ALLOW-FROM
特定主機,請將其添加到您網(wǎng)站的配置中:
Header set X-Frame-Options "ALLOW-FROM https://example.com/"
要配置 nginx 發(fā)送X-Frame-Options
頭文件,請將其添加到您的
http,服務(wù)器或位置配置中:
add_header X-Frame-Options SAMEORIGIN;
要配置 IIS 發(fā)送X-Frame-Options
標題,請?zhí)砑哟苏军c的Web.config
文件:
<system.webServer> ... <httpProtocol> <customHeaders> <add name="X-Frame-Options" value="SAMEORIGIN" /> </customHeaders> </httpProtocol> ...</system.webServer>
要配置 HAProxy 發(fā)送X-Frame-Options
標題,請將其添加到前端,監(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 | ? | ? | ? | ? | ? | ? | ? |