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 的瀏覽器中載入。

另請參見