Skip to content

Latest commit

 

History

History
80 lines (59 loc) · 2.65 KB

File metadata and controls

80 lines (59 loc) · 2.65 KB
title slug l10n
CSP: worker-src
Web/HTTP/Headers/Content-Security-Policy/worker-src
sourceCommit
45c7ae13178203b4ee58842efbe2a27deab274a6

{{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")}}