Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Content-Security-Policy: style-src-attr Direktive

Baseline Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Dezember 2022 browserübergreifend verfügbar.

Die HTTP-Content-Security-Policy (CSP) style-src-attr Direktive legt gültige Quellen für Inline-Stile fest, die auf einzelne DOM-Elemente angewendet werden.

Die Direktive legt keine gültigen Quellen für <style>-Elemente und <link>-Elemente mit rel="stylesheet" fest. Diese werden mit style-src-elem festgelegt (und gültige Quellen für alle Stile können mit style-src festgelegt werden).

CSP-Version 3
Direktiventyp Abrufdirektive
default-src Fallback

Ja. Wenn diese Direktive fehlt, sucht der User-Agent nach der style-src-Direktive, und wenn beide fehlen, wird auf die default-src-Direktive zurückgegriffen.

Syntax

http
Content-Security-Policy: style-src-attr 'none';
Content-Security-Policy: style-src-attr <source-expression-list>;

Diese Direktive kann einen der folgenden Werte haben:

'none'

Keine Ressourcen dieses Typs dürfen geladen werden. Die einfachen Anführungszeichen sind zwingend erforderlich.

<source-expression-list>

Eine durch Leerzeichen getrennte Liste von source expression-Werten. Ressourcen dieses Typs dürfen geladen werden, wenn sie mit einem der angegebenen Source-Expressions übereinstimmen. Für diese Direktive sind die folgenden Source-Expression-Werte anwendbar:

style-src-attr kann in Verbindung mit style-src verwendet werden:

http
Content-Security-Policy: style-src <source>;
Content-Security-Policy: style-src-attr <source>;

Beispiele

Verletzungsfälle

Bei dem folgenden CSP-Header:

http
Content-Security-Policy: style-src-attr 'none'

… wird der Inline-Stil, der auf das folgende Element angewendet wird, nicht übernommen:

html
<div style="display: inline">Foo</div>

Die Richtlinie würde auch alle Stile blockieren, die in JavaScript angewendet werden, indem das style-Attribut direkt gesetzt wird oder indem cssText gesetzt wird:

js
document.querySelector("div").setAttribute("style", "display: inline");
document.querySelector("div").style.cssText = "display: inline";

Stileigenschaften, die direkt auf der style-Eigenschaft des Elements gesetzt werden, werden nicht blockiert, sodass Benutzer Stile sicher über JavaScript manipulieren können:

js
document.querySelector("div").style.display = "inline";

Beachten Sie, dass die Verwendung von JavaScript möglicherweise unabhängig von der script-src-CSP-Direktive blockiert wird.

Spezifikationen

Spezifikation
Content Security Policy Level 3
# directive-style-src-attr

Browser-Kompatibilität

Siehe auch