|
|
|
|
|
我的網(wǎng)站經(jīng)常被360漏洞檢測(cè)提示“X-Frame-Options頭未設(shè)置”,意思是網(wǎng)頁(yè)可能被別人用iframe框架使用。事實(shí)上,我的網(wǎng)頁(yè)已經(jīng)通過(guò)js程序禁止被iframe框架嵌入使用了。不過(guò),對(duì)于使用iis的網(wǎng)站來(lái)說(shuō),可以設(shè)置下iis,無(wú)需在網(wǎng)頁(yè)里編寫js代碼,就能輕松實(shí)現(xiàn)網(wǎng)站的所有網(wǎng)頁(yè)禁止被iframe框架嵌入使用。本文將給大家介紹iis如何設(shè)置禁止網(wǎng)頁(yè)被iframe框架引用。
打開(kāi)網(wǎng)站屬性,切換到“HTTP頭”標(biāo)簽,然后在“自定義 HTTP 頭”里點(diǎn)擊“添加”按鈕。
在彈出窗口里,自定義 HTTP 頭”輸入 X-Frame-Options
,“自定義 HTTP 頭值”輸入 SAMEORIGIN
,點(diǎn)擊“確定”按鈕,就完成了設(shè)置。
IIS6設(shè)置禁止網(wǎng)頁(yè)被iframe框架引用
這里解釋一下 SAMEORIGIN
,它表示該頁(yè)面可以在相同域名頁(yè)面的 frame 中展示。
X-Frame-Options 有三個(gè)值:
表示該頁(yè)面不允許在 frame 中展示,即便是在相同域名的頁(yè)面中嵌套也不允許。
表示該頁(yè)面可以在相同域名頁(yè)面的 frame 中展示。
表示該頁(yè)面可以在指定來(lái)源的 frame 中展示。uri
是網(wǎng)頁(yè)地址,如:http://www.howtostagehomes.com/
一句話說(shuō),如果設(shè)置為 DENY
,不光在別人的網(wǎng)站 frame 嵌入時(shí)會(huì)無(wú)法加載,在同域名頁(yè)面中同樣會(huì)無(wú)法加載。另一方面,如果設(shè)置為 SAMEORIGIN
,那么頁(yè)面就可以在同域名頁(yè)面的 frame 中嵌套。
同IIS6一樣,IIS7.5也是通過(guò)設(shè)置HTTP頭來(lái)實(shí)現(xiàn)。
進(jìn)入 HTTP 響應(yīng)標(biāo)頭 設(shè)置界面,點(diǎn)擊“添加...”,然后“名稱”輸入 X-Frame-Options
,“值”輸入 SAMEORIGIN
,點(diǎn)擊“確定”按鈕,就完成了設(shè)置。
IIS7.5設(shè)置禁止網(wǎng)頁(yè)被iframe框架引用
上面的方法是對(duì)整個(gè)網(wǎng)站所有網(wǎng)頁(yè)都有效的,如果只想某個(gè)網(wǎng)頁(yè)禁止被iframe框架引用,該如何處理呢?我們可以通過(guò)JS設(shè)置某張網(wǎng)頁(yè)不允許被iframe框架引用。方法其實(shí)也挺簡(jiǎn)單,代碼如下:
<script language="javascript">
if(window.self != window.top){
window.top.location.replace(window.self.location);
}
</script>
原理是判斷 window.self
是否等于 window.top
。