<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”属性。