Documentazione

Come configurare il Content Security Policy per consentire l’esecuzione degli script di iubenda

Questa guida è destinata agli amministratori di siti web che utilizzano il Content Security Policy (CSP).

Il Content Security Policy consente agli amministratori di specificare i domini che il browser deve considerare come fonti valide di script eseguibili: un browser compatibile con CSP eseguirà solo script provenienti da domini autorizzati, ignorando tutti gli altri script.

Come puoi immaginare, questo può causare alcuni problemi agli script delle nostre Privacy e Cookie Policy, Cookie Solution e Consent Solution. Fortunatamente, questi problemi sono facilmente risolvibili.

Come risolvere i conflitti tra il CSP e iubenda

Ecco come autorizzare gli script delle nostre Privacy e Cookie Policy, Cookie Solution e Consent Solution in modo che possano funzionare correttamente con il CSP:

1. Aggiungi un nonce agli script in linea

Prima di tutto è necessario sfruttare un nonce (numero casuale da usare una sola volta), dando al tag script di iubenda un attributo nonce. Il valore del nonce deve corrispondere a quello dell’elenco delle fonti attendibili. Per esempio:

<script type="text/javascript" nonce="EDNnf03nceIOfn39fn3e9h3sdfa">
  //codice di iubenda
</script>

Ora, aggiungi il nonce alla tua direttiva script-src associata alla parola chiave nonce-:

Content-Security-Policy: script-src 'nonce-EDNnf03nceIOfn39fn3e9h3sdfa'

Quindi, ad esempio, il codice di integrazione della Cookie Solution diventerà:

<script type="text/javascript" nonce="EDNnf03nceIOfn39fn3e9h3sdfa">
    var _iub = _iub || [];
    _iub.csConfiguration = {
        "lang": "it",
        "siteId": 12345678,
        "cookiePolicyId": 12345678
    };
</script>
<script type="text/javascript" src="//cdn.iubenda.com/cookie_solution/safemode/iubenda_cs.js" charset="UTF-8" async></script>

Si prega di notare che il nonce è stato aggiunto solo allo script in linea. Vedremo come gestire gli script esterni poco sotto.

Importante

Ricorda che i nonce vanno rigenerati ad ogni caricamento di pagina e che non dev’essere possibile prevederli.

2. Autorizza il dominio iubenda.com per gli script esterni

Ora è necessario autorizzare il dominio iubenda.com (e i suoi sottodomini) così da permettere il caricamento degli script lì contenuti. Ecco come configurare il Content Security Policy:

Content-Security-Policy: default-src 'self' *.iubenda.com

E questo è tutto. Per ulteriori informazioni sul CSP e sui casi d’uso comune, visita la guida dedicata sul Mozilla Developer Network.