<script> 元素中加入 nonce 屬性

使用以 Nonce 為基礎的 CSP 時,每個 <script> 元素都必須具有 nonce 屬性,且該屬性必須與 CSP 標頭中指定的隨機 Nonce 值相符 (所有指令碼都可以有相同的 Nonce)。第一步是將這些屬性新增至所有指令碼:

已遭 CSP 封鎖

<script src="/path/to/script.js"></script>
<script>foo()</script>

由於這些指令碼沒有 `nonce` 屬性,因此 CSP 會封鎖這些指令碼。

CSP 允許

<script nonce="${NONCE}" src="/path/to/script.js"></script>
<script nonce="${NONCE}">foo()</script>

如果將 `${NONCE}` 替換為與 CSP 回應標頭中的 Nonce 相符的值,CSP 就會允許執行這些指令碼。請注意,部分瀏覽器在檢查網頁來源時會隱藏「nonce」屬性。