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:

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

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

http
Content-Security-Policy: connect-src https://example.com/

Die folgenden Verbindungen werden blockiert und nicht geladen:

html
<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

Siehe auch