?
This document uses PHP Chinese website manual Release
HTTP Content-Security-Policy
(CSP)指令用作其他CSP 提取指令的后備。對于以下每個不存在的指令,用戶代理都將查找指令并將其用于此值:default-srcdefault-src
child-src
connect-src
font-src
frame-src
img-src
manifest-src
media-src
object-src
script-src
style-src
worker-src
CSP版本 | 1 |
---|---|
指令類型 | 取指令 |
default-src
政策可以允許一個或多個來源:
Content-Security-Policy: default-src <source>;Content-Security-Policy: default-src <source> <source>;
<source>可以是以下之一:
通過名稱或IP地址的<host-source> Internet 主機,以及可選的 URL方案 and/or 端口號。該站點的地址可能包含一個可選的前導通配符(星號字符'*'
),并且可以使用通配符(再次'*'
)作為端口號,表示所有合法端口對于源都有效。
示例:
http://*.example.com
:匹配使用http:
URL方案從 example.com 的任何子域加載的所有嘗試。
mail.example.com:443
:匹配所有嘗試訪問 mail.example.com 上的端口443的嘗試。
https://store.example.com
:匹配所有嘗試訪問store.example.com使用https:
。
<scheme-source>一種模式,如'http:' 或 'https:'。冒號是必需的,不應使用單引號。您也可以指定數(shù)據(jù)模式(不推薦)。
data:
允許將data:
URI用作內(nèi)容源。這是不安全的; 攻擊者也可以注入任意數(shù)據(jù):URI。謹慎使用這一點,絕對不適用于腳本。
mediastream:
允許將mediastream:
URI用作內(nèi)容源。
blob:
允許將blob:
URI用作內(nèi)容源。
filesystem:
允許將filesystem:
URI用作內(nèi)容源。
'self'
指受保護文檔的來源,包括相同的URL方案和端口號。你必須包括單引號。一些瀏覽器特別排除blob
和filesystem
從源指令。需要允許這些內(nèi)容類型的網(wǎng)站可以使用Data屬性來指定它們。
'unsafe-inline'
允許使用內(nèi)聯(lián)資源,如內(nèi)聯(lián)<script>
元素,javascript:
URL,內(nèi)聯(lián)事件處理程序和內(nèi)聯(lián)<style>
元素。你必須包括單引號。
'unsafe-eval'
允許使用eval()
和類似的方法從字符串創(chuàng)建代碼。你必須包括單引號。
'none'
指空集;也就是說,沒有URL匹配。單引號是必需的。'nonce- <base64-value>'使用加密隨機數(shù)(使用一次的數(shù)字)的特定內(nèi)聯(lián)腳本的白名單。每次發(fā)送策略時,服務器都必須生成唯一的隨機數(shù)值。提供一個無法猜測的隨機數(shù)是非常重要的,因為繞過資源的策略是微不足道的。例如,查看不安全的內(nèi)聯(lián)腳本。
<hash-source>腳本或樣式的sha256,sha384或sha512散列。此源的使用由兩部分組成:用短劃線分隔的部分:用于創(chuàng)建散列的加密算法以及腳本或樣式的base64編碼散列。生成散列時,不要包含<script>或<style>標記,并注意大小寫和空白字符,包括前導或尾隨空格。有關示例,請參閱不安全的內(nèi)聯(lián)腳本。在CSP 2.0中,這僅適用于內(nèi)聯(lián)腳本。CSP 3.0允許它的情況下script-src
用于外部腳本。
'strict-dynamic' strict-dynamic
源表達式指定顯式給予標記中存在的腳本的信任,通過附加一個隨機數(shù)或散列,應該傳播給由該腳本加載的所有腳本。與此同時,任何白名單或源表達式(例如'self'
或'unsafe-inline'
將被忽略)。有關示例,請參閱script-src。
default-src
如果指定了其他指令,default-src
則不會影響它們。以下標題
Content-Security-Policy: default-src 'self'; script-src https://example.com
將與以下內(nèi)容相同:
Content-Security-Policy: connect-src 'self'; font-src 'self'; frame-src 'self'; img-src 'self'; manifest-src 'self'; media-src 'self'; object-src 'self'; script-src https://example.com; style-src 'self'; worker-src 'self'
規(guī)范 | 狀態(tài) | 評論 |
---|---|---|
內(nèi)容安全策略級別3該規(guī)范中'default-src'的定義。 | 編輯草稿 | 添加了frame-src,manifest-src和worker-src作為默認值。 |
內(nèi)容安全策略級別2該規(guī)范中'default-src'的定義。 | 建議 | 初始定義。 |
特征 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基本支持 | 25 | 14 | 23.0 | No | 15 | 7 |
特征 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
基本支撐 | 4.4 | (Yes) | ? | 23.0 | No | ? | 7.1 |