CSP: trusted-types
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Die HTTP-Direktive Content-Security-Policy
(CSP) trusted-types
weist Benutzeragenten an, die Erstellung von Trusted Types-Policies einzuschränken - Funktionen, die nicht manipulierbare, typisierte Werte erzeugen, die anstelle von Zeichenketten an DOM-XSS-Senken übergeben werden sollen.
Zusammen mit der Direktive require-trusted-types-for
ermöglicht dies den Autoren, Regeln festzulegen, die das Schreiben von Werten in das DOM bewachen. Dadurch wird die Angriffsfläche für DOM-XSS auf kleine, isolierte Teile des Anwendungscodes reduziert, was deren Überwachung und Code-Überprüfung erleichtert. Diese Direktive deklariert eine Whitelist von Trusted Type-Policynamen, die mit trustedTypes.createPolicy
aus der Trusted Types API erstellt wurden.
Syntax
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>
-
Ein gültiger Policy-Name besteht nur aus alphanumerischen Zeichen oder einem von
-#=_/@.%
. Ein Sternchen (*
) als Policy-Name weist den Benutzeragenten an, jeden eindeutigen Policy-Namen zuzulassen (allow-duplicates
kann diese Einschränkung weiter lockern). 'none'
-
Verhindert die Erstellung von Trusted Type-Policies (entspricht dem Nicht-Angaben eines <policyName>).
'allow-duplicates'
-
Erlaubt die Erstellung von Policies mit einem bereits verwendeten Namen.
Beispiele
// 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.
}
Spezifikationen
Specification |
---|
Trusted Types # trusted-types-csp-directive |