title | slug | l10n | ||
---|---|---|---|---|
CSP: worker-src |
Web/HTTP/Headers/Content-Security-Policy/worker-src |
|
{{HTTPSidebar}}
HTTP の {{HTTPHeader("Content-Security-Policy")}} (CSP) における worker-src
ディレクティブは、 {{domxref("Worker")}}, {{domxref("SharedWorker")}}, {{domxref("ServiceWorker")}} スクリプトの有効なソースを指定します。
CSP バージョン | 3 |
---|---|
ディレクティブ種別 | {{Glossary("Fetch directive", "フェッチディレクティブ")}} |
フォールバック |
このディレクティブがない場合、ユーザーエージェントはワーカーの実行を制御するとき、まず {{CSP("child-src")}} ディレクティブを探し、次に {{CSP("script-src")}} ディレクティブ、そして最後に {{CSP("default-src")}} ディレクティブを探します。 |
worker-src
ポリシーには 1 つ以上のソースを指定することができます。
Content-Security-Policy: worker-src <source>;
Content-Security-Policy: worker-src <source> <source>;
<source>
は、 CSP ソース値にあるいずれかの値を取ることができます。
なお、この同じ値のセットはすべての{{Glossary("fetch directive", "フェッチディレクティブ")}}(と 他の多くのディレクティブ)で使用できます。
この CSP ヘッダーが与えられている時、
Content-Security-Policy: worker-src https://example.com/
{{domxref("Worker")}}, {{domxref("SharedWorker")}}, {{domxref("ServiceWorker")}} はブロックされ、読み込まれません。
<script>
let blockedWorker = new Worker("data:application/javascript,…");
blockedWorker = new SharedWorker("https://not-example.com/");
navigator.serviceWorker.register("https://not-example.com/sw.js");
</script>
{{Specifications}}
{{Compat}}
- {{HTTPHeader("Content-Security-Policy")}}
- ウェブワーカーでの CSP
- {{domxref("Worker")}}, {{domxref("SharedWorker")}}, {{domxref("ServiceWorker")}}