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

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since December 2022.

Die HTTP-Content-Security-Policy (CSP)-style-src-elem-Direktive legt gültige Quellen für Stylesheet-<style>-Elemente und <link>-Elemente mit rel="stylesheet" fest.

Die Direktive legt keine gültigen Quellen für Inline-Stilattribute fest; diese werden mit style-src-attr festgelegt (und gültige Quellen für alle Stile können mit style-src festgelegt werden).

CSP-Version 3
Direktiventyp Abruf-Direktive
default-src-Fallback

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

Syntax

http
Content-Security-Policy: style-src-elem 'none';
Content-Security-Policy: style-src-elem <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 obligatorisch.

<source-expression-list>

Eine durch Leerzeichen getrennte Liste von Quellenausdruck-Werten. Ressourcen dieses Typs dürfen geladen werden, wenn sie mit einem der angegebenen Quellenausdrücke übereinstimmen. Für diese Direktive sind dieselben Quellenausdruck-Werte wie für style-src anwendbar, mit Ausnahme von 'unsafe-hashes'.

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

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

Beispiele

Verletzungsfälle

Angenommen, dieser CSP-Header:

http
Content-Security-Policy: style-src-elem https://example.com/

…werden die folgenden Stylesheets blockiert und nicht geladen:

html
<link href="https://not-example.com/styles/main.css" rel="stylesheet" />

<style>
  #inline-style {
    background: red;
  }
</style>

<style>
  @import url("https://not-example.com/styles/print.css") print;
</style>

…sowie Stile, die mit dem Link-Header geladen werden:

http
Link: <https://not-example.com/styles/stylesheet.css>;rel=stylesheet

Spezifikationen

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

Browser-Kompatibilität

Siehe auch