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.

HTTP の Content-Security-Policy (CSP) における connect-src ディレクティブは、スクリプトインターフェイスを使用して読み込むことができる URL を制限します。以下の API が制限の対象となります。

メモ: connect-src 'self' はすべてのブラウザーで websocket スキーマを解決するわけではありません。この問題に詳細情報があります。

CSP バージョン 1
ディレクティブ種別 フェッチディレクティブ
default-src による代替 あり。このディレクティブがない場合、ユーザーエージェントは default-src ディレクティブを探します。

構文

connect-src ポリシーには、1 つ以上のソースが許可されています。

http
Content-Security-Policy: connect-src <source>;
Content-Security-Policy: connect-src <source> <source>;

ソース

<source> は、 CSP ソース値にあるいずれかの値を取ることができます。

なお、この同じ値のセットはすべてのフェッチディレクティブ(と 他の多くのディレクティブ)で使用できます

違反の場合

以下の CSP ヘッダーを指定した場合、

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

以下のコネクションはブロックされ、読み込まれません。

html
<a ping="https://not-example.com">
  <script>
    const xhr = new XMLHttpRequest();
    xhr.open("GET", "https://not-example.com/");
    xhr.send();

    const ws = new WebSocket("https://not-example.com/");

    const es = new EventSource("https://not-example.com/");

    navigator.sendBeacon("https://not-example.com/", {
      /* … */
    });
  </script></a
>

仕様書

Specification
Content Security Policy Level 3
# directive-connect-src

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
connect-src

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
Has more compatibility info.

互換性のメモ

  • Firefox 23 以前では、xhr-srcconnect-src ディレクティブの代わりに、XMLHttpRequest を制限するだけのために使用されていました。

関連情報