Skip to content

Latest commit

 

History

History
104 lines (76 loc) · 3.23 KB

File metadata and controls

104 lines (76 loc) · 3.23 KB
title slug l10n
CSP: connect-src
Web/HTTP/Headers/Content-Security-Policy/connect-src
sourceCommit
45c7ae13178203b4ee58842efbe2a27deab274a6

{{HTTPSidebar}}

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

  • {{HTMLElement("a")}} の ping 属性
  • {{domxref("fetch()")}}
  • {{domxref("XMLHttpRequest")}}
  • {{domxref("WebSocket")}}
  • {{domxref("EventSource")}}
  • {{domxref("Navigator.sendBeacon()")}}

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

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

構文

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

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

ソース

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

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

違反の場合

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

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

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

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

仕様書

{{Specifications}}

ブラウザーの互換性

{{Compat}}

互換性のメモ

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

関連情報

  • {{HTTPHeader("Content-Security-Policy")}}
  • {{HTMLElement("a")}} の pingement/a#ping) 属性
  • {{domxref("fetch()")}}
  • {{domxref("XMLHttpRequest")}}
  • {{domxref("WebSocket")}}
  • {{domxref("EventSource")}}