Content-Security-Policy: script-src-attr Richtlinie
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-attr Richtlinie legt gültige Quellen für JavaScript-Inline-Event-Handler fest.
Diese Richtlinie gibt nur gültige Quellen für Inline-Script-Event-Handler wie onclick an. Sie gilt nicht für andere JavaScript-Quellen, die Skriptausführung auslösen können, wie URLs, die direkt in <script>-Elemente geladen werden, und XSLT-Stylesheets.
(Gültige Quellen können für alle JavaScript-Skriptquellen mit script-src festgelegt werden oder nur für <script>-Elemente mit script-src-elem.)
| CSP-Version | 3 |
|---|---|
| Richtlinientyp | Fetch-Richtlinie |
default-src Fallback |
Ja.
Wenn diese Richtlinie fehlt, wird der User-Agent nach der script-src-Richtlinie suchen, und wenn beide fehlen, auf die default-src-Richtlinie zurückgreifen.
|
Syntax
Content-Security-Policy: script-src-attr 'none';
Content-Security-Policy: script-src-attr <source-expression-list>;
Diese Richtlinie 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 Quellen übereinstimmen. Für diese Richtlinie sind die folgenden Quellausdruckswerte anwendbar:
script-src-attr kann zusammen mit script-src verwendet werden und wird diese Richtlinie für Prüfungen an Inline-Handlern überschreiben:
Content-Security-Policy: script-src <source>;
Content-Security-Policy: script-src-attr <source>;
Beispiele
>Verstoßfall
Angenommen, dieser CSP-Header:
Content-Security-Policy: script-src-attr 'none'
...wird der folgende Inline-Event-Handler blockiert und weder geladen noch ausgeführt:
<button id="btn" onclick="doSomething()"></button>
Normalerweise sollten Sie Inline-Event-Handler durch Aufrufe von addEventListener ersetzen:
document.getElementById("btn").addEventListener("click", doSomething);
Spezifikationen
| Specification |
|---|
| Content Security Policy Level 3> # directive-script-src-attr> |
Browser-Kompatibilität
Loading…