我需要生成一个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');
答案 0 :(得分:6)
只是为了确认这确实在NodeJS中用于CSP nonce
const crypto = require('crypto');
let nonce = crypto.randomBytes(16).toString('base64');
答案 1 :(得分:0)
我建议为此使用uuid
:https://www.npmjs.com/package/uuid
每个uuid恰好是所需的16个字节(128位),与流星撞击相比,您的计算机被流星击中的可能性更高。