<script> 要素に nonce 属性を追加する

ノンスベースの CSP では、すべての <script> 要素に、CSP ヘッダーで指定されたランダムなノンス値と一致する 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>

CSP は、CSP レスポンス ヘッダー内の「${NONCE}」がノンスと一致する値に置き換えられると、これらのスクリプトの実行を許可します。ブラウザによっては、ページソースの検査時に nonce 属性が非表示になる場合があります。