我需要生成一个nonce(仅生成一次的数字)来删除CSP规则’unsafe-inline’和脚本的所有可信URL,从而提高CSP分数.因此我需要在
HTML中
<script nonce="{{{nonce}}}" src="http://example.com/file.js">
我知道nonce必须是唯一的,计算方法几乎不可能预测,它应该至少有128位(因此是16字节),并在base64中编码.因此对node.js来说这是正确的吗?
const crypto = require('crypto'); let nonce = crypto.randomBytes(16).toString('base64');
解决方法
只是为了确认这确实在NodeJS中用于CSP nonce
const crypto = require('crypto'); let nonce = crypto.randomBytes(16).toString('base64');