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

做者:阿里聚安全
連接:https://www.zhihu.com/question/21979782/answer/122682029
來源:知乎
著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。

1、簡介
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 的報錯信息。框架

相關文章
相關標籤/搜索