Integrazione con un criterio di sicurezza del contenuto

Il Criterio di sicurezza del contenuto (CSP) è un mezzo per proteggere la tua pagina web limitando le risorse e gli script che possono essere caricati ed eseguiti. Puoi attivare il CSP impostando un'intestazione Content-Security-Policy nelle risposte HTTP del tuo server web.

Esistono due modi standard per configurare il CSP:

  1. Specifica una lista consentita di domini che possono iniettare le proprie risorse nella pagina.

  2. Specifica un nonce casuale con cui devono essere contrassegnate le risorse nella pagina per poter essere caricate. Questo approccio è noto come CSP rigoroso.

Poiché i domini utilizzati dal tag publisher di Google (GPT) cambiano nel tempo, supportiamo solo il CSP rigoroso (opzione 2). Questo approccio elimina la necessità di mantenere un elenco aggiornato di domini che potrebbero diventare obsoleti e danneggiare il tuo sito.

Configurare il CSP con GPT

  1. Attiva CSP sul tuo server web.

    Segui i passaggi descritti in adottare un CSP rigoroso per configurare l'intestazione CSP e applicare il nonce a ogni tag script nella pagina, incluso gpt.js. GPT supporta in modo specifico le seguenti istruzioni 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/
    

    Puoi scegliere un criterio più permissivo se è adatto al tuo caso d'uso. I criteri più restrittivi potrebbero non essere più validi senza preavviso.

  2. Attiva il rendering cross-domain.

    Gli iframe degli annunci possono caricare risorse esterne che potrebbero non essere consentite dal CSP. Poiché gli iframe dello stesso dominio ereditano il CSP della finestra di primo livello e il GPT non può controllare i contenuti della creatività, in genere le creatività dello stesso dominio non funzionano correttamente con le intestazioni CSP.

    Per attivare il rendering tra domini per tutte le creatività, esegui googletag.pubads().setForceSafeFrame(true) prima di caricare gli spazi pubblicitari.

    <!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>

Test

Ti consigliamo di testare prima le norme impostando l'intestazione Content-Security-Policy-Report-Only anziché Content-Security-Policy. L'intestazione segnala le violazioni, ma le consente comunque sulla pagina.