X-Content-Type-Options和 X-XSS-Protection


X-Content-Type-Options

互聯網上的資源有各種類型,通常瀏覽器會根據響應頭的Content-Type字段來分辨它們的類型。例如:"text/html"代表html文檔,"image/png"是PNG圖片,"text/css"是CSS樣式文檔。然而,有些資源的Content-Type是錯的或者未定義。這時,某些瀏覽器會啟用MIME-sniffing來猜測該資源的類型,解析內容並執行。

例如,我們即使給一個html文檔指定Content-Type為"text/plain",在IE8-中這個文檔依然會被當做html來解析。利用瀏覽器的這個特性,攻擊者甚至可以讓原本應該解析為圖片的請求被解析為JavaScript。通過下面這個響應頭可以禁用瀏覽器的類型猜測行為:

X-Content-Type-Options: nosniff

PHP設置

header("X-Content-Type-Options:nosniff");

 

 X-XSS-Protection

顧名思義,這個響應頭是用來防范XSS的。最早我是在介紹IE8的文章里看到這個,現在主流瀏覽器都支持,並且默認都開啟了XSS保護,用這個header可以關閉它。它有幾種配置:

  • 0:禁用XSS保護;
  • 1:啟用XSS保護;
  • 1; mode=block:啟用XSS保護,並在檢查到XSS攻擊時,停止渲染頁面(例如IE8中,檢查到攻擊時,整個頁面會被一個#替換);

瀏覽器提供的XSS保護機制並不完美,但是開啟后仍然可以提升攻擊難度,總之沒有特別的理由,不要關閉它。

PHP設置

header("X-XSS-Protection: 1");

 參考:https://www.itcodemonkey.com/article/5052.html


免責聲明!

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



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