安全提示“X-Frame-Options頭未設置”的解決方法


漏洞檢測提示“X-Frame-Options頭未設置”,意思是網頁可能被別人用iframe框架使用。事實上,我的網頁已經通過js程序禁止被iframe框架嵌入使用了。不過,對於使用iis的網站來說,可以設置下iis,無需在網頁里編寫js代碼,就能輕松實現網站的所有網頁禁止被iframe框架嵌入使用。本文將給大家介紹iis如何設置禁止網頁被iframe框架引用。

IIS6設置禁止網頁被iframe框架引用 :

在彈出窗口里,自定義 HTTP 頭”輸入 X-Frame-Options ,“自定義 HTTP 頭值”輸入 SAMEORIGIN ,點擊“確定”按鈕,就完成了設置。

這里解釋一下 SAMEORIGIN ,它表示該頁面可以在相同域名頁面的 frame 中展示。

X-Frame-Options 有三個值:

DENY

表示該頁面不允許在 frame 中展示,即便是在相同域名的頁面中嵌套也不允許。

SAMEORIGIN

表示該頁面可以在相同域名頁面的 frame 中展示。

ALLOW-FROM uri

表示該頁面可以在指定來源的 frame 中展示。uri 是網頁地址,如:http://www.webkaka.com/

一句話說,如果設置為 DENY,不光在別人的網站 frame 嵌入時會無法加載,在同域名頁面中同樣會無法加載。另一方面,如果設置為 SAMEORIGIN,那么頁面就可以在同域名頁面的 frame 中嵌套。

IIS7.5設置禁止網頁被iframe框架引用

同IIS6一樣,IIS7.5也是通過設置HTTP頭來實現。

進入 HTTP 響應標頭 設置界面,點擊“添加...”,然后“名稱”輸入 X-Frame-Options ,“值”輸入 SAMEORIGIN,點擊“確定”按鈕,就完成了設置。

通過JS設置某張網頁不允許被iframe框架引用

上面的方法是對整個網站所有網頁都有效的,如果只想某個網頁禁止被iframe框架引用,該如何處理呢?我們可以通過JS設置某張網頁不允許被iframe框架引用。方法其實也挺簡單,代碼如下:

  • <script language="javascript">
  • if(window.self != window.top){
  •     window.top.location.replace(window.self.location);
  • }
  • </script>

原理是判斷 window.self 是否等於 window.top 。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM