Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

83
Visualizações
Uso de Nonce generado en CSP en la aplicación Node.js/Express

Probé todas las soluciones posibles que se me ocurrieron para generar un nonce y pasarlo al CSP y a todos los scripts en línea con la variable nonce. He leído muchos artículos y todos son muy vagos sobre cómo hacer esto. He generado con éxito el nonce y está generando una cadena hexadecimal única en la carga de la página. Sin embargo, parece que no puedo descifrar cómo pasar ese nonce generado al CSP o las etiquetas de script de manera efectiva. Así es como se ve en el archivo route.js:

 router.route('/') .all(checkAuthentication) .get( (req, res, next) => { cspNonce = crypto.randomBytes(16).toString('hex'); next(); console.log("Nonce is" + cspNonce); // PREVENT PAGE CACHING res.setHeader('Cache-Control', 'private, max-age=0, no-cache, no-store, must-revalidate'); res.setHeader('Expires', '-1'); res.setHeader('Pragma', 'no-cache'); res.setHeader('Vary', '*'); res.setHeader('Strict-Transport-Security', "max-age=31536000; includeSubDomains; preload"); res.setHeader('X-Content-Type-Options', "nosniff"); res.setHeader("Content-Security-Policy", "script-src 'nonce-${cspNonce}' http://localhost:* https://code.jquery.com/jquery-2.1.4.js https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js https://www.google-analytics.com/analytics.js https://www.googletagmanager.com https://vimeo.com https://player.vimeo.com/api/player.js https://use.fontawesome.com/0202fc905b.js https://cdn.fontawesome.com/js/stats.js https://use.fontawesome.com/webfontloader/1.6.24/webfontloader.js https://code.jquery.com/jquery-latest.min.js https://code.jquery.com/jquery-latest.min.js https://cdnjs.cloudflare.com/ajax/libs/gsap/1.19.0/TweenMax.min.js https://cdnjs.cloudflare.com/ajax/libs/gsap/1.19.0/TimelineMax.min.js https://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.5/ScrollMagic.min.js https://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.5/plugins/animation.gsap.js https://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.5/plugins/jquery.ScrollMagic.js img-src: https://www.googletagmanager.com"); res.render('survey_views/survey_container', {host_mode: process.env.HOST_MODE}); })

Además, cuando intento registrar en la consola la variable 'cspNonce' en otra parte de la aplicación, aparece sin definir. Estoy llamando a este nonce arriba en Router.js y necesito llamarlo en el archivo head.ejs que está unos niveles más arriba en la estructura.

Necesito descubrir cómo hacer que este nonce generado pase al CSP y poder llamarlo en otros archivos donde estoy tratando de ejecutar scripts en línea. Si alguien tiene alguna idea de lo que podría estar yendo mal aquí, sería muy útil.

Gracias por adelantado.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Lo escribo en res.locals (res.locals.cspNonce en mi caso) y tanto la función CSP como el procesador de scripts lo leen desde allí.

También sugeriría reemplazar hex con base64 ya que es más compacto.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda