Content-Security-Policy: script-src-attr 指令
HTTP Content-Security-Policy (CSP) script-src-attr 指令指定 JavaScript 內聯事件處理程式的有效來源。
此指令僅指定像 onclick 這樣的內聯指令碼事件處理程式的有效來源。它不適用於可以觸發指令碼執行的其他 JavaScript 來源,例如直接載入到 <script> 元素和 XSLT 樣式表中的 URL。(可以使用 script-src 為所有 JavaScript 指令碼來源指定有效來源,或者使用 script-src-elem 僅為 <script> 元素指定有效來源。)
| CSP 版本 | 3 |
|---|---|
| 指令型別 | 獲取指令 |
default-src 回退 |
是的。如果此指令缺失,使用者代理將查詢 script-src 指令,如果兩者都缺失,則回退到 default-src 指令。 |
語法
http
Content-Security-Policy: script-src-attr 'none';
Content-Security-Policy: script-src-attr <source-expression-list>;
此指令可以具有以下值之一
'none'-
不允許載入此型別的任何資源。單引號是強制性的。
<source-expression-list>-
一個由源表示式值組成的空格分隔列表。如果資源型別與任何給定的源表示式匹配,則可以載入此類資源。對於此指令,以下源表示式值適用:
script-src-attr 可以與 script-src 結合使用,並將覆蓋該指令以檢查內聯處理程式
http
Content-Security-Policy: script-src <source>;
Content-Security-Policy: script-src-attr <source>;
示例
違規案例
給定此 CSP 頭
http
Content-Security-Policy: script-src-attr 'none'
...以下內聯事件處理程式將被阻止,不會被載入或執行
html
<button id="btn" onclick="doSomething()"></button>
請注意,通常您應該用 addEventListener 呼叫替換內聯事件處理程式
js
document.getElementById("btn").addEventListener("click", doSomething);
規範
| 規範 |
|---|
| 內容安全策略級別 3 # 指令-script-src-attr |
瀏覽器相容性
載入中…