CSP,Content Security Policy(內容安全策略)的設定
CSP(Content Security Policy,內容安全策略) 限制載入的資源(js,css,字體,圖片)只能在白名單中,可能是你同一站台域名或是特定網域、其他來源。是可以在前端跟後端程式沒有特別去做XSS防禦機制時候,仍有透過此header配置而讓XSS相關風險能得到更全域性地保障,有時應用程式碼中還沒實作某程度的XSS修補,就能再透過它配置來讓風險可被克服。 是一種電腦安全標準、網頁安全機制,目的在於防禦 跨網站指令碼攻擊(Cross-Site Scripting, XSS)、資源數據盜取(Cross-Site Data Theft, XSD)和網頁樣式置換…等代碼注入攻擊。阻止惡意內容在受到信任的網頁環境中執行,這個 CSP 內容安全策略標準,是 W3C 網路應用安全工作群組的候選推薦標準,目前也被現代網頁瀏覽器廣泛支援中。 實質就是白名單制度,開發者明確告訴用戶端,哪些外部資源可以載入和執行,等同于提供白名單。它的實現和執行全部由流覽器完成,開發者只需提供配置。 透過在 http header 響應頭中添加指令,限制瀏覽器載入和執行特定來源的資源,這些資源可能是 JavaScript、CSS、字體、圖像、影片或任何嵌入的內容,它會告訴瀏覽器只能允許載入特定來源的資源,並且阻止載入外部或未受信任的資源,同時還可限制內嵌腳本的執行,以防止 駭客攻擊者可能會透過任何形式的漏洞在網站中安插惡意的程式碼,也就是XSS 攻擊。 因此這時就需要使用 CSP 規範,告知瀏覽器發出的要求位置是否受到信任,並且積極阻擋非預期的對外連線,以加強網站的安全性。 CSP設定指令 由一系列的指令和資料來源所組成,如 'default-src'、'script-src'、'style-src' 等,每個指令都可以用來指定一個或多個資料來源並限制相應的資源載入,資料來源可以是具體的 URL 也可以是特定的關鍵字,如表示當前網站的來源的 'self' 或 允許內連腳本的 'unsafe-inline' 都可以。 Content-Security-Policy: default-src 'self'; script-src 'self' (1)在 http heade...