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 December 2022.
Die HTTP Content-Security-Policy
(CSP) script-src-attr
Richtlinie gibt gültige Quellen für JavaScript Inline-Ereignishandler an.
Diese Richtlinie spezifiziert nur gültige Quellen für Inline-Skript-Ereignishandler wie onclick
.
Sie gilt nicht für andere JavaScript-Quellen, die Skriptausführung auslösen können, wie z. B. URLs, die direkt in <script>
Elemente geladen werden und XSLT-Stile.
(Gültige Quellen können für alle JavaScript-Skriptquellen mit script-src
oder nur für <script>
Elemente mit script-src-elem
spezifiziert werden.)
CSP-Version | 3 |
---|---|
Richtlinientyp | Fetch-Richtlinie |
default-src Rückfall |
Ja.
Wenn diese Richtlinie fehlt, sucht der Benutzeragent nach der script-src Richtlinie, und wenn beide fehlen, wird auf die default-src Richtlinie zurückgegriffen.
|
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 zwingend erforderlich.
<source-expression-list>
-
Eine durch Leerzeichen getrennte Liste von Quellausdruck Werten. Ressourcen dieses Typs dürfen geladen werden, wenn sie einem der angegebenen Quellausdrücke entsprechen. Für diese Richtlinie sind die folgenden Quellausdruckswerte anwendbar:
script-src-attr
kann in Verbindung mit script-src
verwendet werden und wird diese Richtlinie für Prüfungen von Inline-Handlern überschreiben:
Content-Security-Policy: script-src <source>;
Content-Security-Policy: script-src-attr <source>;
Beispiele
Verstoßfall
Bei diesem CSP-Header:
Content-Security-Policy: script-src-attr 'none'
…wird der folgende Inline-Ereignishandler blockiert und nicht geladen oder ausgeführt:
<button id="btn" onclick="doSomething()"></button>
Beachten Sie, dass Sie Inline-Ereignishandler im Allgemeinen durch addEventListener
Aufrufe ersetzen sollten:
document.getElementById("btn").addEventListener("click", doSomething);
Spezifikationen
Specification |
---|
Content Security Policy Level 3 # directive-script-src-attr |