title | slug | l10n | ||
---|---|---|---|---|
CSP: connect-src |
Web/HTTP/Headers/Content-Security-Policy/connect-src |
|
{{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-src
がconnect-src
ディレクティブの代わりに、{{domxref("XMLHttpRequest")}} を制限するだけのために使用されていました。
- {{HTTPHeader("Content-Security-Policy")}}
- {{HTMLElement("a")}} の
ping
ement/a#ping) 属性 - {{domxref("fetch()")}}
- {{domxref("XMLHttpRequest")}}
- {{domxref("WebSocket")}}
- {{domxref("EventSource")}}