CSP: connect-src
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since August 2016.
Das HTTP Content-Security-Policy
(CSP)
connect-src
-Direktive beschränkt die URLs, die über Skript-Schnittstellen geladen werden können. Die folgenden APIs werden durch diese Direktive kontrolliert:
- Das
ping
-Attribut in<a>
-Elementen fetch()
XMLHttpRequest
WebSocket
EventSource
Navigator.sendBeacon()
Note:
connect-src 'self'
löst nicht in allen Browsern zu WebSocket-Schemata auf. Mehr Informationen in diesem Issue.
CSP-Version | 1 |
---|---|
Direktivtyp | Fetch-Direktive |
default-src Rückfall |
Ja. Wenn diese Direktive fehlt, sucht der Nutzeragent nach der
default-src -Direktive.
|
Syntax
Content-Security-Policy: connect-src 'none';
Content-Security-Policy: connect-src <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 mit einem der angegebenen Quellausdrücke übereinstimmen.
Quellausdrücke werden als Schlüsselwortwerte oder URL-Muster angegeben: Die Syntax für jeden Quellausdruck ist in CSP-Quellwerte beschrieben.
Beispiele
Verletzungsfälle
Gegeben dieser CSP-Header:
Content-Security-Policy: connect-src https://example.com/
Die folgenden Verbindungen werden blockiert und nicht geladen:
<a ping="https://not-example.com">
<script>
const response = fetch("https://not-example.com/");
const xhr = new XMLHttpRequest();
xhr.open("GET", "https://not-example.com/");
xhr.send();
const ws = new WebSocket("wss://not-example.com/");
const es = new EventSource("https://not-example.com/");
navigator.sendBeacon("https://not-example.com/", {
/* … */
});
</script></a
>
Spezifikationen
Specification |
---|
Content Security Policy Level 3 # directive-connect-src |
Browser-Kompatibilität
BCD tables only load in the browser