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