es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Utilizando ContentSecurityPolicy y valores nonce en CodeIgniter 4.x

Cuando activas la política de seguridad de contenido en .env a través de “app.CSPEnabled = true”, se crea un nonce para cada CSS y JavaScript en línea para la barra de depuración, pero NO para el script en línea y los estilos en línea de Kint. Puedo ver el texto {csp-style-nonce} en el archivo de vista de la página de bienvenida. La página de bienvenida tiene estilos y scripts sin nonce. Mi navegador se queja de estos, pero no se queja del js y css de Kint. ¿Por qué?

¿Cómo se le dice al navegador qué valores de nonce se deben utilizar? Hay varios. Más de uno para estilos y más de uno para scripts. Si uso la función CI {csp-style-nonce} y {csp-script-nonce}, ¿no tengo que decirle al navegador sobre ella en una cabecera Content-Security_Policy? ¿Cómo lo hago para cada nonce?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    ¿?

    Respuesta

    Cuando la política de seguridad de contenido está activada en .env a través de “app.CSPEnabled = true”, se crea un nonce para cada css y javascript en línea para la barra de depuración, PERO NO para el script en línea y los estilos en línea de Kint. La razón por la que el navegador no se queja del js y css de Kint es que se cargan desde fuentes externas y no en línea, por lo que no requieren nonces.

    Para informar al navegador cuáles deben ser los valores de los nonces, se incluyen los nonces en el encabezado “Content-Security-Policy” de la respuesta HTTP. Cada nonce creado por la aplicación debe tener un valor de nonce correspondiente en el encabezado “Content-Security-Policy”. Por ejemplo, si la aplicación crea dos nonces de estilo, debería haber dos directivas “style-src” en el encabezado “Content-Security-Policy”, cada una con un valor de nonce correspondiente.

    Si se utiliza la característica {csp-style-nonce} y {csp-script-nonce} de CI, también se deben incluir los correspondientes valores de nonce en el encabezado “Content-Security-Policy”. Esto se puede hacer agregando el atributo “nonce-{valor}” a las etiquetas “style” y “script” en el documento HTML, e incluyendo las directivas correspondientes en el encabezado “Content-Security-Policy”. Por ejemplo, si la aplicación crea un nonce de estilo con el valor “abc123”, la directiva “style-src” correspondiente en el encabezado “Content-Security-Policy” debería incluir el atributo “nonce-abc123”.

    En resumen, para garantizar que los nonces se apliquen correctamente por el navegador, es importante incluir cada valor de nonce en el encabezado “Content-Security-Policy” y asegurarse de que cada directiva corresponda al nonce correcto en el documento HTML.

Comments are closed.