web-dev-qa-db-fra.com

Comment générer un nonce dans node.js?

J'ai besoin de générer un nonce (nombre généré une seule fois) pour supprimer la règle CSP 'unsafe-inline' et toutes les URL de confiance pour les scripts, améliorant le score CSP. J'ai donc besoin d'avoir dans le HTML

<script nonce="{{{nonce}}}" src="http://example.com/file.js">

Je sais que le nonce doit être unique avec une méthode de calcul presque impossible à prévoir, il doit avoir au moins 128 bits (donc 16 octets), et être encodé en base64. Est-ce donc correct pour node.js?

const crypto = require('crypto');
let nonce = crypto.randomBytes(16).toString('base64');
13

Juste pour confirmer que cela fonctionne en effet dans NodeJS pour les nonces CSP

const crypto = require('crypto');
let nonce = crypto.randomBytes(16).toString('base64');
11