CSP: script-src-attr
Der HTTP Content-Security-Policy
(CSP) script-src-attr
-Direktive spezifiziert gültige Quellen für JavaScript Inline-Event-Handler.
Diese Direktive spezifiziert nur gültige Quellen für Inline-Skript-Event-Handler wie onclick
. Sie gilt nicht für andere JavaScript-Quellen, die die Ausführung von Skripten 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-Skript-Quellen mit script-src
, oder nur für <script>
-Elemente mit script-src-elem
spezifiziert werden.)
CSP-Version | 3 |
---|---|
Direktivtyp | Fetch directive |
default-src Fallback |
Ja.
Ist diese Direktive nicht vorhanden, sucht der Benutzeragent 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-attr 'none';
Content-Security-Policy: script-src-attr <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 source expression Werten. Ressourcen dieses Typs dürfen geladen werden, wenn sie zu einem der angegebenen Quellen-Ausdrücke passen.
Quellen-Ausdrücke werden als Schlüsselwortwerte oder URL-Muster angegeben: Die Syntax für jeden Quellen-Ausdruck ist in CSP Source Values beschrieben.
script-src-attr
kann zusammen mit script-src
verwendet werden und wird diese Direktive 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 nicht geladen oder ausgeführt:
<button id="btn" onclick="doSomething()"></button>
Beachten Sie, dass Sie Inline-Event-Handler generell durch addEventListener
-Aufrufe ersetzen sollten:
document.getElementById("btn").addEventListener("click", doSomething);
Spezifikationen
Specification |
---|
Content Security Policy Level 3 # directive-script-src-attr |
Browser-Kompatibilität
BCD tables only load in the browser