內容安全策略 (CSP, Content Security Policy) 是一個附加的安全層,用於幫助檢測和緩解某些類型的攻擊,包括跨站腳本攻擊 (XSS) 和數據注入等攻擊。瀏覽器
這些攻擊可用於實現從數據竊取到網站破壞或做爲惡意軟件分發版本等用途。內容安全策略在現代瀏覽器中已經包含,使用的是 W3C CSP 1.0 標準中描述的 Content-Security-Policy 頭部和指令。安全
#####那麼如何應用?服務器
CSP 能夠由兩種方式指定:HTTP Header 和 HTML。HTTP 是在 HTTP 由增長 Header 來指定,而 HTML 級別則由 Meta 標籤指定。網絡
CSP 有兩類:Content-Security-Policy 和 Content-Security-Policy-Report-Only。(大小寫無關)xss
HTTP header : "Content-Security-Policy:" 策略 "Content-Security-Policy-Report-Only:" 策略
HTTP Content-Security-Policy 頭能夠指定一個或多個資源是安全的,而Content-Security-Policy-Report-Only則是容許服務器檢查(非強制)一個策略。多個頭的策略定義由優先採用最早定義的。網站
HTML Meta : <meta http-equiv="content-security-policy" content="策略"> <meta http-equiv="content-security-policy-report-only" content="策略">
Meta 標籤與 HTTP 頭只是行式不一樣而做用是一致的。與 HTTP 頭同樣,優先採用最早定義的策略。若是 HTTP 頭與 Meta 定義同時存在,則優先採用 HTTP 中的定義。ui
若是用戶瀏覽器已經爲當前文檔執行了一個 CSP 的策略,則會跳過 Meta 的定義。若是 META 標籤缺乏 content 屬性也一樣會跳過。code
針對開發者草案中特別的提示一點:爲了使用策略生效,應該將 Meta 元素頭放在開始位置,以防止提升人爲的 CSP 策略注入。網絡安全
現在,多樣化的攻擊手段層出不窮,傳統安全解決方案愈來愈難以應對網絡安全攻擊。OneASP 自適應安全平臺集成了預測、預防、檢測和響應的能力,爲您提供精準、持續、可視化的安全防禦。想閱讀更多技術文章,請訪問 OneAPM 官方技術博客 本文轉自 OneAPM 官方博客資源