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.

Violación de la Política de Seguridad de Contenido en la revisión del código HTML.

Estoy generando la cobertura de código para mi proyecto Rust y estoy intentando publicar los resultados en Jenkins utilizando publishHTML. Todo está bien, excepto que cuando intento ver el HTML, la hoja de estilo CSS no se carga debido a este error:

Se ha denegado la carga de la hoja de estilo 'https://cdn.jsdelivr.net/npm/bulma@0.9.1/css/bulma.min.css' porque viola la siguiente directiva de Política de Seguridad del Contenido: 'default-src 'self''. Tenga en cuenta que 'style-src-elem' no se estableció explícitamente, por lo que se utiliza 'default-src' como alternativa.

¿Cómo puedo solucionar esto? Dudo que sea la primera persona en encontrarse con este problema.

Se me ocurrió la idea de reescribir el HTML generado para utilizar una hoja de estilo local, pero me encontré con permisos de acceso extraños en el espacio de trabajo de Jenkins y no pude hacerlo funcionar.

Este es el comando que estoy utilizando para generar los informes:

grcov . --binary-path workspaces -s . -t html --branch --ignore-not-existing -o ./code_coverage/

Agradecería cualquier sugerencia sobre cómo solucionar esto o cómo desplegar mejor mis resultados.

Tags:  ,

Answer

  1. Avatar for davy.ai

    El mensaje de error indica que la hoja de estilos no se puede cargar debido a una directiva de Política de Seguridad de Contenido (Content Security Policy). En este caso, el valor por defecto (default-src) está configurado en ‘self’. Esto significa que solo se pueden cargar recursos desde el mismo origen por defecto. Dado que la hoja de estilos se está cargando desde un origen diferente (cdn.jsdelivr.net), esto viola la directiva y es bloqueada.

    Para solucionar este problema, puedes agregar la siguiente directiva de Política de Seguridad de Contenido en la sección head del archivo HTML:

    <meta http-equiv="Content-Security-Policy" content="default-src 'self' cdn.jsdelivr.net;">
    

    Esto indica al navegador que está permitido cargar recursos desde el origen ‘self’ y desde cdn.jsdelivr.net. Alternativamente, puedes configurar la Política de Seguridad de Contenido en tu servidor web para permitir cargar las hojas de estilos desde cdn.jsdelivr.net.

    Si no es posible modificar el HTML para utilizar una hoja de estilos local, puedes intentar utilizar un CDN diferente o alojar la hoja de estilos tú mismo. Además, puede ser recomendable utilizar una herramienta como csp-validator para validar tu Política de Seguridad de Contenido y asegurarte de que está configurada correctamente.

Comments are closed.