Content-Security-Policy: connect-src Direktive
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since November 2016.
Die HTTP Content-Security-Policy
(CSP)
connect-src
Direktive beschränkt die URLs, die über Skript-Schnittstellen geladen werden können. Folgende APIs werden durch diese Direktive kontrolliert:
- Das
ping
Attribut in<a>
Elementen fetch()
fetchLater()
ExperimentellXMLHttpRequest
WebSocket
EventSource
Navigator.sendBeacon()
Hinweis:
connect-src 'self'
löst nicht in allen Browsern auf Websocket-Schemata aus. Weitere Informationen finden Sie in diesem Problem.
CSP-Version | 1 |
---|---|
Direktivtyp | Fetch-Direktiv |
default-src Fallback |
Ja. Wenn diese Direktive fehlt, sucht der User-Agent 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'
-
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 Quellausdrücke übereinstimmen. Für diese Direktive sind die folgenden Quellausdrücke anwendbar:
Beispiele
Verstöße
Angenommen, 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 |