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

http
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:

http
Content-Security-Policy: script-src <source>;
Content-Security-Policy: script-src-attr <source>;

Beispiele

Verstoßfall

Bei diesem CSP-Header:

http
Content-Security-Policy: script-src-attr 'none'

…wird der folgende Inline-Ereignishandler blockiert und nicht geladen oder ausgeführt:

html
<button id="btn" onclick="doSomething()"></button>

Beachten Sie, dass Sie Inline-Ereignishandler im Allgemeinen durch addEventListener Aufrufe ersetzen sollten:

js
document.getElementById("btn").addEventListener("click", doSomething);

Spezifikationen

Specification
Content Security Policy Level 3
# directive-script-src-attr

Browser-Kompatibilität

Siehe auch