La Política de Seguridad del Contenido (CSP) es una forma de proteger tu página web limitando qué recursos y secuencias de comandos se pueden cargar y ejecutar. Para habilitar CSP, configura un encabezado Content-Security-Policy
en las respuestas HTTP de tu servidor web.
Existen dos formas estándar de configurar CSP:
Especifica una lista de entidades permitidas de dominios que pueden insertar sus recursos en la página.
Especifica un nonce aleatorio, con el que se deben marcar los recursos de la página para cargarlos. Este enfoque se conoce como CSP estricto.
Debido a que los dominios que usa la etiqueta del publicador de Google (GPT) cambian con el tiempo, solo admitimos CSP estricto (opción 2). Con este enfoque, se elimina la necesidad de mantener una lista continua de dominios que podrían quedar obsoletos y dañar tu sitio.
Cómo configurar CSP con GPT
Habilita CSP en tu servidor web.
Sigue los pasos que se describen en Cómo adoptar un CSP estricto para configurar el encabezado de CSP y aplicar el nonce a cada etiqueta de secuencia de comandos de tu página, incluida
gpt.js
. GPT admite específicamente las siguientes direcciones CSP:Content-Security-Policy: object-src 'none'; script-src 'nonce-{random}' 'unsafe-inline' 'unsafe-eval' 'strict-dynamic' https: http:; base-uri 'none'; report-uri https://your-report-collector.example.com/
Puedes elegir una política más permisiva si se ajusta a tu caso de uso. Es posible que se incumplan las políticas más restrictivas sin previo aviso.
Habilita la renderización multidominio.
Los iframes de anuncios pueden cargar recursos externos que el CSP podría no permitir. Dado que los iframes del mismo dominio heredan el CSP de la ventana de nivel superior y la GPT no puede controlar el contenido de la creatividad, por lo general, las creatividades del mismo dominio no funcionarán correctamente con los encabezados de CSP.
Para habilitar la renderización entre dominios para todas las creatividades, ejecuta
googletag.pubads().setForceSafeFrame(true)
antes de cargar ningún espacio de anuncios.<!doctype html> <html> <head> <meta charset="utf-8"> <title>Hello GPT</title> <script src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" nonce="KC7tcz53FHqumKP1" async></script> <script nonce="KC7tcz53FHqumKP1"> window.googletag = window.googletag || {cmd: []}; googletag.cmd.push(function() { googletag.pubads().setForceSafeFrame(true); }); </script> </head>
Prueba
Te recomendamos que primero pruebes tus políticas configurando el encabezado Content-Security-Policy-Report-Only
en lugar de Content-Security-Policy
. El encabezado informa los incumplimientos, pero aún los permite en la página.