Esta guía está dirigida a administradores de sitios web que utilizan una Política de seguridad del contenido (CSP) en su web.
La política de seguridad del contenido permite a los administradores especificar qué dominios debe considerar el navegador como fuentes válidas de scripts ejecutables: un navegador compatible con CSP solo ejecutará scripts de dominios autorizados, ignorando todos los demás scripts.
Como puedes imaginar, esto puede causar algunos problemas con los scripts de nuestros Términos y Condiciones, Política de Privacidad y Cookies, Privacy Controls and Cookie Solution y Consent Database. Afortunadamente, estos problemas se resuelven fácilmente.
A continuación, te indicamos cómo autorizar scripts de nuestros Términos y Condiciones, Política de Privacidad y Cookies, Privacy Controls and Cookie Solution y Consent Database para que puedan funcionar correctamente con tu CSP:
En primer lugar, deberás utilizar un nonce criptográfico (número aleatorio que se usará solo una vez), dando a la etiqueta de script
de iubenda un atributo nonce
. El valor del nonce
debe coincidir con uno de la lista de fuentes fiables. Por ejemplo:
<script type="text/javascript" nonce="EDNnf03nceIOfn39fn3e9h3sdfa">
//iubenda snippet
</script>
Ahora, agrega el nonce a tu directiva script-src
asociada con la palabra clave nonce-
:
Content-Security-Policy: script-src 'nonce-EDNnf03nceIOfn39fn3e9h3sdfa'
Entonces, por ejemplo, en el caso de Privacy Controls and Cookie Solution, la implementación se verá así:
<script type="text/javascript" nonce="EDNnf03nceIOfn39fn3e9h3sdfa">
var _iub = _iub || [];
_iub.csConfiguration = {
"lang": "en",
"siteId": 12345678
"cookiePolicyId": 12345678
"banner": {
"position": "float-top-center",
"acceptButtonDisplay": true,
"customizeButtonDisplay": true
}
};
</script>
<script type="text/javascript" src="//cdn.iubenda.com/cs/iubenda_cs.js" charset="UTF-8" async></script>
Ten en cuenta que el nonce se ha agregado solo al script en línea. A continuación vamos a ver cómo manejar los scripts externos.
Recuerda que los nonces se deben regenerar cada vez que se cargue la página y que no debe ser posible predecirlos.
Ahora tienes que autorizar el contenido del dominio y subdominios de iubenda para que los scripts externos se puedan cargar desde allí. A continuación, se explica cómo configurar la Política de seguridad del contenido:
Content-Security-Policy:
default-src 'self';
script-src 'self' *.iubenda.com 'nonce-EDNnf03nceIOfn39fn3e9h3sdfa' 'unsafe-eval';
connect-src *.iubenda.com;
style-src 'unsafe-inline' *.iubenda.com;
frame-src *.iubenda.com;
img-src *.iubenda.com data:
Y esto es todo. Puedes encontrar más información sobre CSP y los casos de uso más comunes en MDN Web Docs.