nginx 安全配置

add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options: nosniff;
add_header Content-Security-Policy "default-src 'self' ";
add_header X-Xss-Protection 1;
X-Frame-Options

X-Frame-Options HTTP 響應(yīng)頭是用來給瀏覽器指示允許一個(gè)頁面可否在 <frame>, <iframe> 或者 <object> 中展現(xiàn)的標(biāo)記。網(wǎng)站可以使用此功能,來確保自己網(wǎng)站的內(nèi)容沒有被嵌到別人的網(wǎng)站中去,也從而避免了點(diǎn)擊劫持 (clickjacking) 的攻擊。

X-Frame-Options 有三個(gè)值:

DENY

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

SAMEORIGIN

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

ALLOW-FROM uri

表示該頁面可以在指定來源的 frame 中展示。
換一句話說,如果設(shè)置為 DENY,不光在別人的網(wǎng)站 frame 嵌入時(shí)會(huì)無法加載,在同域名頁面中同樣會(huì)無法加載。另一方面,如果設(shè)置為 SAMEORIGIN,那么頁面就可以在同域名頁面的 frame 中嵌套。

X-Content-Type-Options

用來指定瀏覽器對(duì)未指定或錯(cuò)誤指定 Content-Type 資源真正類型的猜測行為,nosniff 表示不允許任何猜測,互聯(lián)網(wǎng)上的資源有各種類型,通常瀏覽器會(huì)根據(jù)響應(yīng)頭的Content-Type字段來分辨它們的類型。例如:"text/html"代表html文檔,"image/png"是PNG圖片,"text/css"是CSS樣式文檔。然而,有些資源的Content-Type是錯(cuò)的或者未定義。這時(shí),某些瀏覽器會(huì)啟用MIME-sniffing來猜測該資源的類型,解析內(nèi)容并執(zhí)行。

Content-Security-Policy

主要是用來定義頁面可以加載哪些資源,減少 XSS 的發(fā)生。

具體介紹
https://imququ.com/post/content-security-policy-reference.html

X-Xss-Protection

顧名思義,這個(gè)響應(yīng)頭是用來防范XSS的。最早我是在介紹IE8的文章里看到這個(gè),現(xiàn)在主流瀏覽器都支持,并且默認(rèn)都開啟了XSS保護(hù),用這個(gè)header可以關(guān)閉它。它有幾種配置:

0:禁用XSS保護(hù);
1:啟用XSS保護(hù);
1; mode=block:啟用XSS保護(hù),并在檢查到XSS攻擊時(shí),停止渲染頁面(例如IE8中,檢查到攻擊時(shí),整個(gè)頁面會(huì)被一個(gè)#替換);
瀏覽器提供的XSS保護(hù)機(jī)制并不完美,但是開啟后仍然可以提升攻擊難度,總之沒有特別的理由,不要關(guān)閉它。

參考
https://imququ.com/post/web-security-and-response-header.html
https://imququ.com/post/content-security-policy-reference.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容