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

Baseline 2022
Newly 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) script-src-elem-Direktive spezifiziert gültige Quellen für JavaScript-<script>-Elemente.

Diese Direktive gibt nur gültige Quellen in <script>-Elementen an (sowohl Skriptanfragen als auch Blöcke). Sie gilt nicht für andere JavaScript-Quellen, die die Skriptausführung auslösen können, wie z.B. Inline-Skript-Ereignishandler (onclick), Skriptausführungsmethoden die der Prüfung "unsafe-eval" unterliegen, und XSLT-Stylesheets. (Gültige Quellen können für alle JavaScript-Skriptquellen mit script-src angegeben werden oder nur für Inline-Skripthandler mit script-src-attr.)

CSP-Version 3
Direktivtyp Fetch-Direktive
default-src-Fallback Ja. Falls diese Direktive fehlt, wird der User-Agent die script-src-Direktive suchen, und wenn beide fehlen, auf die default-src-Direktive zurückfallen.

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'

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

<source-expression-list>

Eine durch Leerzeichen getrennte Liste von Quell-Ausdrücken. Ressourcen dieses Typs können geladen werden, wenn sie mit einem der angegebenen Quell-Ausdrücke übereinstimmen. Für diese Direktive sind alle der in der Fetch-Direktiv-Syntax aufgeführten Quell-Ausdrücke anwendbar, 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

Verletzungsfall

Bei folgendem CSP-Header:

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

…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