Gerador de nonce CSP seguro
Gera nonce aleatório base64 de 128 bits para Content-Security-Policy com exemplo de header e atributo <script nonce>.
—
Nonce de CSP sem quebrar a política
Você quer tirar o unsafe-inline do script-src, mas a página tem um punhado de scripts inline que não dá para mover hoje. A saída conhecida é o nonce: um valor aleatório que aparece no header e na tag, de modo que só os scripts marcados com ele executam. A dúvida que trava a implementação costuma ser o formato exato do header e quanta aleatoriedade basta.
O valor sai do crypto.getRandomValues do navegador, que é um gerador criptográfico e não o Math.random. O padrão são 16 bytes, ou 128 bits, que viram 24 caracteres em base64. O campo aceita de 16 a 64 bytes e corrige sozinho o que estiver fora dessa faixa. A saída já mostra o header pronto e a tag script com o atributo, e os dois precisam carregar exatamente o mesmo valor, senão o navegador bloqueia o script.
Vai o aviso que mais importa: nonce copiado de uma página web e colado em template estático não protege nada. Ele precisa ser sorteado a cada resposta HTTP, no servidor, e injetado no header e no HTML da mesma requisição. Use esta caixa para conferir formato, montar um teste com curl ou escrever documentação. Lembre também que, com nonce presente, navegadores modernos passam a ignorar o unsafe-inline.
Perguntas frequentes
Posso usar o mesmo nonce em todas as páginas?
128 bits de entropia bastam?
Preciso manter o unsafe-inline junto do nonce?
Ferramentas Relacionadas
Gerador de Token Seguro
Gere tokens aleatórios criptograficamente seguros (alfanumérico, hex ou base64) no navegador. Ideal para chaves de API, secrets, senhas e IDs únicos.
Construtor de Content-Security-Policy
Monte um header Content-Security-Policy adicionando diretivas (default-src, script-src, img-src, frame-ancestors) com fontes pré-definidas.
CSP Evaluator Básico
Avalia uma diretiva Content-Security-Policy reportando se contém unsafe-inline, unsafe-eval ou * (curingas).