CSP: style-src-attr

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

Die Richtlinie 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
Richtlinientyp Abrufrichtlinie
default-src Fallback

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

Syntax

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

Diese Richtlinie 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 Quellenausdrücken. Ressourcen dieses Typs dürfen geladen werden, wenn sie mit einem der angegebenen Quellenausdrücke übereinstimmen. Für diese Richtlinie sind die folgenden Quellenausdrücke 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

Verstoßfälle

Angenommen, dieser CSP-Header ist gesetzt:

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

…wird der unten stehende Inline-Stil nicht angewendet:

html
<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:

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

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

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

Beachten Sie, dass die Verwendung von JavaScript unabhängig davon durch die script-src CSP-Richtlinie blockiert werden kann.

Spezifikationen

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

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
style-src-attr

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Siehe auch