《nginx等各種服務(wù)器如何設(shè)置X-Frame-Options頭》要點(diǎn):
本文介紹了nginx等各種服務(wù)器如何設(shè)置X-Frame-Options頭,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
相關(guān)主題:nginx配置 / apache配置 / 服務(wù)器配置
360搜索引擎有時(shí)會(huì)提示你:
那么,什么是X-Frame-Options頭?如何設(shè)置?
X-Frame-Options HTTP響應(yīng)頭是用來(lái)確認(rèn)是否瀏覽器可以在frame或iframe標(biāo)簽中渲染一個(gè)頁(yè)面,網(wǎng)站可以用這個(gè)頭來(lái)保證他們的內(nèi)容不會(huì)被嵌入到其它網(wǎng)站中,以來(lái)避免點(diǎn)擊劫持。
危害: 攻擊者可以使用一個(gè)透明的、不可見的iframe,覆蓋在目標(biāo)網(wǎng)頁(yè)上,然后誘使用戶在該網(wǎng)頁(yè)上進(jìn)行操作,此時(shí)用戶將在不知情的情況下點(diǎn)擊透明的iframe頁(yè)面。通過(guò)調(diào)整iframe頁(yè)面的位置,可以誘使用戶恰好點(diǎn)擊iframe頁(yè)面的一些功能性按鈕上,導(dǎo)致被劫持。
一般是用JS來(lái)防止的,比如常見的比如使用js,判斷頂層窗口跳轉(zhuǎn):
if (window != window.top) { window.top.location.replace(window.location); //或者干別的事情 }
一般這樣夠用了,但是這段代碼輕輕松松被破解了:
var location = document.location; // 或者 var location = "";
也有人用META標(biāo)簽,基本沒(méi)什么效果,所以也放棄了:
<meta http-equiv="Windows-Target" contect="_top">
解決方案:
修改web服務(wù)器配置,添加X(jué)-frame-options響應(yīng)頭。賦值有如下三種:
(1)DENY:不能被嵌入到任何iframe或frame中。
(2)SAMEORIGIN:頁(yè)面只能被本站頁(yè)面嵌入到iframe或者frame中。
(3)ALLOW-FROM uri:只能被嵌入到指定域名的框架中。
也可在代碼中加入,在PHP中加入:
header('X-Frame-Options: deny');
防止某些重要網(wǎng)頁(yè)被其他網(wǎng)站框架導(dǎo)入,可以給頁(yè)面增加X(jué)-Frame-Options響應(yīng)頭,這樣瀏覽器會(huì)依據(jù)X-Frame-Options的值來(lái)控制iframe框架的頁(yè)面是否允許加載顯示出來(lái),IE下的效果如下(此內(nèi)容無(wú)法再框架中顯示。為了幫助保護(hù)在此網(wǎng)站中輸入的信息安全,此內(nèi)容的發(fā)行者不允許在框架中顯示該信息),其他非IE核心瀏覽器會(huì)顯示空白內(nèi)容。
動(dòng)態(tài)頁(yè)添加X(jué)-Frame-Options響應(yīng)頭示例代碼
其它語(yǔ)言也可以添加,如:
ASP.NET和ASP:
Response.AddHeader("X-Frame-Options", "Deny");
JSP代碼:
response.setHeader(“X-Frame-Options”,”SAMEORIGIN”);
如果你的網(wǎng)站是在虛擬主機(jī)上,沒(méi)有權(quán)限配置服務(wù)器,那就用上面的代碼方式處理。如果有服務(wù)器控制權(quán)限,則可以直接用下面方法,在服務(wù)器上配置。
瀏覽器對(duì)X-Frame-Options響應(yīng)頭的支持如下
瀏覽器 | 版本支持 |
---|---|
IE | 8.0+ |
Firefox | 3.6.9+ |
Opera | 10.50+ |
Safari | 4.0+ |
Chrome | 4.1.249.1024+ |
當(dāng)然,最好是直接在服務(wù)器上設(shè)置,如果確認(rèn)你整個(gè)網(wǎng)站都不能被框架,可以直接設(shè)置web服務(wù)器,增加X(jué)-Frame-Options響應(yīng)頭。
下面介紹幾種IIS,APACHE,NGINX服務(wù)器如何設(shè)置。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/171.html