<script> 元素添加 nonce 属性

对于基于 Nonce 的 CSP,每个 <script> 元素都必须具有一个 nonce 属性,该属性与 CSP 标头中指定的随机 Nonce 值匹配(所有脚本都可以具有相同的 Nonce)。第一步是将这些属性添加到所有脚本:

被 CSP 屏蔽

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

CSP 将阻止这些脚本,因为它们没有“Nonce”属性。

CSP 允许

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

如果将“${NONCE}”替换为与 CSP 响应标头中的 Nonce 匹配的值,CSP 将允许执行这些脚本。请注意,在检查网页源代码时,某些浏览器会隐藏“nonce”属性。