Content-Security-Policy: worker-src 指令

Baseline 已廣泛支援

此功能已成熟,並可在許多裝置和瀏覽器版本上使用。自 2022 年 5 月以來,它已在各個瀏覽器中可用。

HTTP Content-Security-Policy (CSP) 的 worker-src 指令指定了 WorkerSharedWorkerServiceWorker 指令碼的有效來源。

CSP 版本 3
指令型別 獲取指令
回退

如果此指令缺失,使用者代理在管理 worker 執行時,將首先查詢 child-src 指令,然後是 script-src 指令,最後是 default-src 指令。

語法

http
Content-Security-Policy: worker-src 'none';
Content-Security-Policy: worker-src <source-expression-list>;

此指令可以具有以下值之一

'none'

不允許載入此型別的任何資源。單引號是強制性的。

<source-expression-list>

一個由源表示式值組成的空格分隔列表。如果資源型別與任何給定的源表示式匹配,則可以載入此類資源。對於此指令,以下源表示式值適用:

示例

違規情況

給定此 CSP 頭

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

WorkerSharedWorkerServiceWorker 被阻止且無法載入

html
<script>
  let blockedWorker = new Worker("data:text/javascript,…");
  blockedWorker = new SharedWorker("https://not-example.com/");
  navigator.serviceWorker.register("https://not-example.com/sw.js");
</script>

規範

規範
內容安全策略級別 3
# directive-worker-src

瀏覽器相容性

另見