Content-Security-Policy: style-src-attr Anweisung
Baseline 2022Newly available
Since December 2022, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
Die HTTP Content-Security-Policy
(CSP) style-src-attr
Anweisung spezifiziert gültige Quellen für Inline-Stile, die auf einzelne DOM-Elemente angewendet werden.
Die Anweisung 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 |
---|---|
Anweisungstyp | Fetch directive |
default-src Rückfall |
Ja. Wenn diese Anweisung fehlt, wird der User-Agent die |
Syntax
Content-Security-Policy: style-src-attr 'none';
Content-Security-Policy: style-src-attr <source-expression-list>;
Diese Anweisung kann einen der folgenden Werte haben:
'none'
-
Keine Ressourcen dieses Typs dürfen geladen werden. Die einfachen Anführungszeichen sind obligatorisch.
<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 Quellenausdrücke übereinstimmen. Für diese Anweisung sind die folgenden Quellenausdrücke anwendbar:
style-src-attr
kann in Verbindung mit style-src
verwendet werden:
Content-Security-Policy: style-src <source>;
Content-Security-Policy: style-src-attr <source>;
Beispiele
Verletzungsfälle
Angesichts dieses CSP-Headers:
Content-Security-Policy: style-src-attr 'none'
…wird der unten angewendete Inline-Stil nicht angewendet:
<div style="display:none">Foo</div>
Die Richtlinie würde auch alle Stile blockieren, die in JavaScript durch direktes Setzen des style
-Attributs oder durch Setzen von cssText
angewendet werden:
document.querySelector("div").setAttribute("style", "display:none;");
document.querySelector("div").style.cssText = "display:none;";
Stileigenschaften, die direkt auf der style
-Eigenschaft des Elements gesetzt werden, werden nicht blockiert, was es Nutzern ermöglicht, Stile sicher über JavaScript zu manipulieren:
document.querySelector("div").style.display = "none";
Beachten Sie, dass die Verwendung von JavaScript unabhängig mit der script-src
CSP-Anweisung blockiert werden kann.
Spezifikationen
Specification |
---|
Content Security Policy Level 3 # directive-style-src-attr |