CSP: trusted-types

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Die HTTP-Direktive Content-Security-Policy (CSP) trusted-types Experimentell weist Benutzeragenten an, die Erstellung von Trusted Types-Richtlinien einzuschränken - Funktionen, die nicht fälschbare, typisierte Werte erstellen, 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 schützen und somit die Angriffsfläche für DOM-XSS auf kleinere, isolierte Teile des Webanwendungscodes reduzieren, was ihre Überwachung und Codeprüfung erleichtert. Diese Direktive erklärt eine Positivliste von Trusted-Type-Richtliniennamen, die mit trustedTypes.createPolicy aus der Trusted Types API erstellt wurden.

Syntax

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>

Ein gültiger Richtlinienname besteht nur aus alphanumerischen Zeichen oder einem der folgenden: -#=_/@.%. Ein Stern (*) als Richtlinienname weist den Benutzeragenten an, jeden eindeutigen Richtliniennamen zuzulassen (allow-duplicates kann das weiter lockern).

'none'

Verbietet die Erstellung jeglicher Trusted Type-Richtlinie (entspricht dem Nicht-Spezifizieren eines <policyName>).

'allow-duplicates'

Erlaubt das Erstellen von Richtlinien mit einem bereits verwendeten Namen.

Beispiele

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.
}

Spezifikationen

Specification
Trusted Types
# trusted-types-csp-directive

Browser-Kompatibilität

Siehe auch