"網頁安全政策"(Content Security Policy,縮寫 CSP)的來歷


作者:阿里聚安全
鏈接:https://www.zhihu.com/question/21979782/answer/122682029
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

一、簡介
CSP 的實質就是白名單制度,開發者明確告訴客戶端,哪些外部資源可以加載和執行,等同於提供白名單。它的實現和執行全部由瀏覽器完成,開發者只需提供配置。CSP 大大增強了網頁的安全性。攻擊者即使發現了漏洞,也沒法注入腳本,除非還控制了一台列入了白名單的可信主機。

兩種方法可以啟用 CSP。一種是通過 HTTP 頭信息的Content-Security-Policy的字段。

 

Content-Security-Policy: script-src 'self'; object-src 'none'; 
style-src cdn.example.org third-party.org; child-src https:

另一種是通過網頁的<meta>標簽。
<meta http-equiv="Content-Security-Policy" content="script-src 'self'; object-src 'none'; style-src cdn.example.org third-party.org; child-src https:">
上面代碼中,CSP 做了如下配置。
  • 腳本:只信任當前域名
  • <object>標簽:不信任任何URL,即不加載任何資源
  • 樣式表:只信任http://cdn.example.org和
  • 框架(frame):必須使用HTTPS協議加載
  • 其他資源:沒有限制

啟用后,不符合 CSP 的外部資源就會被阻止加載。
Chrome 的報錯信息。


免責聲明!

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



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