In dit artikel beschrijven we Content Security Policy (CSP) en hoe u dit kunt integreren met uw AdSense-advertentiecode. Uitgevers zijn niet verplicht CSP te gebruiken. Als u CSP toch wilt gebruiken, volgt u de stappen hieronder om te zorgen dat uw AdSense-code correct werkt als u CSP aanzet.
Wat is CSP?
Content Security Policy (CSP) is een manier om uw webpagina te beveiligen door te beperken welke bronnen en scripts mogen worden geladen en uitgevoerd. U kunt CSP aanzetten door een Content-Security-Policy
-header in te stellen in HTTP-reacties van uw webserver.
U kunt CSP op 2 standaardmanieren instellen:
- Specificeer een toelatingslijst met domeinen die hun resources op de pagina kunnen injecteren.
- Specificeer een willekeurige nonce waarmee bronnen op de pagina moeten worden gemarkeerd om te worden geladen. Deze aanpak wordt strikt CSP genoemd.
Omdat de domeinen die de AdSense-advertentiecode gebruikt, in de loop van de tijd veranderen, ondersteunen we alleen strikt CSP (optie 2). Met deze aanpak hoeft u geen doorlopende lijst met domeinen te onderhouden die verouderd kunnen raken en uw site kunnen verpesten.
Een strikt CSP instellen met de AdSense-advertentiecode
Als u CSP wilt aanzetten op uw webserver, volgt u de stappen in Een strikt CSP gebruiken. Hierin wordt uitgelegd hoe u de CSP-header instelt en de nonce toepast op elke scripttag op uw pagina, waaronder de AdSense-code. De AdSense-code ondersteunt met name de volgende CSP-richtlijnen:
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/
U kunt een soepeler beleid kiezen als dit bij uw use case past. Strengere beleidsregels kunnen zonder kennisgeving worden beëindigd.
Codevoorbeeld
Hier volgt een voorbeeld van de AdSense-code met een strikt CSP:
<script nonce="${nonce}" async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=i-gno/re-d1234&host=ca-host-pub-5678" crossorigin="anonymous">
</script>
<ins class="adsbygoogle"
style="display:inline-block;width:728px;height:90px"
data-ad-client="i-gno/re-d1234"
data-ad-host="ca-host-pub-5678">
</ins>
<script nonce="${nonce}">
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
Testen
We raden u aan uw beleid eerst te testen door de header Content-Security-Policy-Report-Only
in te stellen in plaats van Content-Security-Policy
. De koptekst rapporteert schendingen, maar staat ze nog steeds toe op de pagina.