Content-Security-Policy: `script-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-Direktive script-src-elem legt gültige Quellen für JavaScript-<script>-Elemente fest.

Diese Direktive spezifiziert nur gültige Quellen in <script>-Elementen (sowohl Skriptanforderungen als auch -blöcke). Sie gilt nicht für andere JavaScript-Quellen, die Script-Ausführung auslösen können, wie zum Beispiel Inlinescript-Ereignishandler (onclick), Script-Ausführungsmethoden eingeschränkt durch die "unsafe-eval"-Prüfung und XSLT-Stylesheets. (Gültige Quellen können für alle JavaScript-Skriptquellen mit script-src spezifiziert werden oder nur für Inline-Scripthandler mit script-src-attr.)

CSP-Version 3
Direktivtyp Fetch-Direktive
default-src-Fallback Ja. Ist diese Direktive nicht vorhanden, sucht der Benutzeragent nach der script-src-Direktive, und wenn beide nicht vorhanden sind, wird auf die default-src-Direktive zurückgegriffen.

Syntax

http
Content-Security-Policy: script-src-elem 'none';
Content-Security-Policy: script-src-elem <source-expression-list>;

Diese Direktive kann einen der folgenden Werte haben:

'none'

Es dürfen keine Ressourcen dieses Typs 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 Quellausdrücke übereinstimmen. Für diese Direktive sind alle in der Fetch-Direktiv-Syntax aufgelisteten Source Expression-Werte gültig, mit Ausnahme von 'unsafe-hashes'.

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

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

Beispiele

Verstoßcase

Angenommen, dieser CSP-Header:

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

…so wird das folgende Skript blockiert und nicht geladen oder ausgeführt:

html
<script src="https://not-example.com/js/library.js"></script>

Spezifikationen

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

Browser-Kompatibilität

Siehe auch