Content-Security-Policy: connect-src-Direktive
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit November 2016 browserübergreifend verfügbar.
Die HTTP-Direktive Content-Security-Policy (CSP) connect-src beschränkt die URLs, die über Skriptschnittstellen geladen werden können. Die folgenden APIs werden durch diese Direktive kontrolliert:
- Das
ping-Attribut in<a>-Elementen fetch()fetchLater()XMLHttpRequestWebSocketEventSourceNavigator.sendBeacon()
Hinweis:
connect-src 'self' löst nicht in allen Browsern zu WebSocket-Schemata auf, weitere Informationen finden Sie in diesem Issue.
| CSP-Version | 1 |
|---|---|
| Direktiventyp | Fetch-Direktive |
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 verbindlich.
<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 Source-Expression-Werte übereinstimmen. Für diese Direktive sind die folgenden Source-Expression-Werte 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" href="/">Link</a>
<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>
Spezifikationen
| Spezifikation |
|---|
| Content Security Policy Level 3> # directive-connect-src> |