1226浏覽量

Content Security Policy 入門教程

來源: 時間:2017-08-22

Content Security Policy 入門教程


跨域腳本攻擊 XSS 是最常見、危害最大(dà)的網頁安全漏洞。

爲了防止它們,要采取很多編程措施,非常麻煩。很多人提出,能不能根本上解決問題,浏覽器自動禁止外(wài)部注入惡意腳本?這就是"網頁安全政策"(Content Security Policy,縮寫 CSP)的來曆。本文詳細介紹如何使用 CSP 防止 XSS 攻擊。

一(yī)、簡介

CSP 的實質就是白(bái)名單制度,開(kāi)發者明确告訴客戶端,哪些外(wài)部資(zī)源可以加載和執行,等同于提供白(bái)名單。它的實現和執行全部由浏覽器完成,開(kāi)發者隻需提供配置。CSP 大(dà)大(dà)增強了網頁的安全性。攻擊者即使發現了漏洞,也沒法注入腳本,除非還控制了一(yī)台列入了白(bái)名單的可信主機。

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


    Content-Security-Policy: script-src 'self'; object-src 'none'; 

    style-src cdn.example.org third-party.org; child-src https:


另一(yī)種是通過網頁的 标簽。   


 <meta http-equiv="Content-Security-Policy" content="script-src 'self'; object-src 'none'; style-src cdn.example.org third-party.org; child-src https:">

上面代碼中(zhōng),CSP 做了如下(xià)配置。

  • 腳本:隻信任當前域名
  • 标簽:不信任任何URL,即不加載任何資(zī)源
  • 樣式表:隻信任cdn.example.org和third-party.org
  • 框架(frame):必須使用HTTPS協議加載
  • 其他資(zī)源:沒有限制
  • 啓用後,不符合 CSP 的外(wài)部資(zī)源就會被阻止加載。

    Chrome 的報錯信息。

    Firefox 的報錯信息。

    二、限制選項

    CSP 提供了很多限制選項,涉及安全的各個方面。

    2.1 資(zī)源加載限制

    以下(xià)選項限制各類資(zī)源的加載。

    • script-src:外(wài)部腳本
    • style-src:樣式表
    • img-src:圖像
    • media-src:媒體(tǐ)文件(音頻(pín)和視頻(pín))
    • font-src:字體(tǐ)文件
    • object-src:插件(比如 Flash)
    • child-src:框架
    • frame-ancestors:嵌入的外(wài)部資(zī)源

聯系我(wǒ)們

一(yī)次需求提交或許正是成就一(yī)個出色産品的開(kāi)始。
歡迎填寫表格或發送合作郵件至: qczsky@126.com

大(dà)理青橙科技

電(diàn)話(huà):13988578755 13988578755

郵箱:qczsky@126.com

地址:大(dà)理市下(xià)關龍都春天10層