Entonces, lo que estoy tratando de hacer es cuando alguien selecciona un elemento del formulario 'seleccionar' , hace algo que se ha definido en la función "showPost ()" en la sección del script. y CSP sigue rechazando mi operación :(
Probé CSP hash y CSP nonce. y ambos no funcionan.
Si aplico 'inseguro en línea' funciona, por lo que la función no tiene problema.
¿Qué debería estar mal?
PD : estoy usando un estilo CSS personalizado dentro del archivo HTML (EJS), así que también hice un trabajo hash de CSP en la configuración de CSP styleSrc. Y funciona bien.
<select class="form-select" aria-label="Order of Aboutme" id="aboutmeOrder" onchange="showPost()"> <option selected>글 순서를 정해주세요..</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> </select> .... .... <script nonce="example"> function showPost(){ var select = document.getElementById("aboutmeOrder").value; console.log(select); } </script> const csp = require('helmet-csp'); app.use(helmet()); app.use( csp({ directives: { defaultSrc: ["'self'"], styleSrc: ["'self' 'sha256-uts7zrnGYAKZNfvBc7PYcShvKP4t10vo5qemd5Yp0lc=' https://cdn.jsdelivr.net/"], scriptSrc: [`'self' 'sha256-RemzkHuAMqaMxa/UriyGSEioInZdZJpm6lnkGuugweU=' 'nonce-example' https://cdn.jsdelivr.net/`], }, }) );nvm, tengo la respuesta
tienes que usar 'hashes inseguros' o tienes que usar el archivo js.