CSP:trusted-types
HTTP Content-Security-Policy (CSP) trusted-types Experimental 指令指示使用者代理限制建立受信任型別策略 - 用於構建不可偽造的型別化值的函式,這些函式旨在傳遞給 DOM XSS 接收器以代替字串。
與 require-trusted-types-for 指令一起,這允許作者定義保護寫入 DOM 值的規則,從而將 DOM XSS 攻擊面縮減到 Web 應用程式程式碼庫的少量隔離部分,方便監控和程式碼審查。此指令宣告建立的受信任型別策略名稱的允許列表,這些名稱使用 Trusted Types API 中的 trustedTypes.createPolicy 建立。
語法
http
Content-Security-Policy: trusted-types;
Content-Security-Policy: trusted-types 'none';
Content-Security-Policy: trusted-types <policyName>;
Content-Security-Policy: trusted-types <policyName> <policyName> 'allow-duplicates';
- <policyName>
-
有效的策略名稱僅包含字母數字字元,或者“
-#=_/@.%”中的一個。星號 (*) 作為策略名稱指示使用者代理允許任何唯一的策略名稱('allow-duplicates' 可能進一步放寬此限制)。 'none'-
禁止建立任何受信任型別策略(與不指定任何 <policyName> 相同)。
'allow-duplicates'-
允許使用已使用的名稱建立策略。
示例
js
// Content-Security-Policy: trusted-types foo bar 'allow-duplicates';
if (typeof trustedTypes !== "undefined") {
const policyFoo = trustedTypes.createPolicy("foo", {});
const policyFoo2 = trustedTypes.createPolicy("foo", {});
const policyBaz = trustedTypes.createPolicy("baz", {}); // Throws and dispatches a SecurityPolicyViolationEvent.
}
規範
| 規範 |
|---|
| 受信任型別 # trusted-types-csp-directive |
瀏覽器相容性
BCD 表格僅在啟用 JavaScript 的瀏覽器中載入。
另請參見
內容安全策略- 跨站點指令碼 (XSS)
- 使用受信任型別阻止基於 DOM 的跨站點指令碼漏洞
- 受信任型別與 DOMPurify XSS 淨化器
- 受信任型別 polyfill