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 Dezember 2022.
Die HTTP Content-Security-Policy (CSP) script-src-elem-Direktive gibt gültige Quellen für JavaScript-<script>-Elemente an.
Diese Direktive spezifiziert nur gültige Quellen in <script>-Elementen (sowohl für Skriptanfragen als auch für Skriptblöcke).
Sie gilt nicht für andere JavaScript-Quellen, die eine Skriptausführung auslösen können, wie z.B. Inline-Skriptereignishandler (onclick), Skriptausführungsmethoden abhängig von der "unsafe-eval"-Prüfung, und XSLT Stylesheets.
(Gültige Quellen für alle JavaScript-Skriptquellen können mit script-src angegeben werden, oder nur für Inline-Skripthandler mit script-src-attr.)
| CSP-Version | 3 |
|---|---|
| Direktiventyp | Fetch-Direktive |
default-src Fallback |
Ja.
Wenn diese Direktive fehlt, sucht der User-Agent nach der script-src-Direktive, und wenn beide fehlen, fällt er auf die default-src-Direktive zurück.
|
Syntax
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 zwingend erforderlich.
<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 Source-Expressions übereinstimmen. Für diese Direktive sind alle in Fetch-Direktivensyntax aufgelisteten Source-Expression-Werte anwendbar, mit Ausnahme von
'unsafe-hashes'.
script-src-elem kann in Verbindung mit script-src verwendet werden:
Content-Security-Policy: script-src <source>;
Content-Security-Policy: script-src-elem <source>;
Beispiele
>Verletzungsfall
Angenommen, dieser CSP-Header:
Content-Security-Policy: script-src-elem https://example.com/
…das folgende Skript wird blockiert und nicht geladen oder ausgeführt:
<script src="https://not-example.com/js/library.js"></script>
Spezifikationen
| Specification |
|---|
| Content Security Policy Level 3> # directive-script-src-elem> |
Browser-Kompatibilität
Loading…