Cet article décrit Content Security Policy (CSP) et explique comment l'intégrer à votre code d'annonce AdSense. Notez que les éditeurs ne sont pas tenus d'utiliser une CSP. Si vous souhaitez utiliser une CSP, suivez les étapes ci-dessous pour vous assurer que votre code AdSense fonctionne correctement lorsque vous activez la CSP.
Qu'est-ce qu'une CSP ?
La stratégie Content Security Policy (CSP) permet de sécuriser votre page Web en limitant les ressources et les scripts autorisés à être chargés et exécutés. Vous pouvez activer la CSP en définissant un en-tête Content-Security-Policy
dans les réponses HTTP de votre serveur Web.
Il existe deux façons standards de configurer une CSP:
- Spécifiez une liste d'autorisation de domaines pouvant injecter leurs ressources sur la page.
- Spécifiez un nonce aléatoire, avec lequel les ressources de la page doivent être marquées pour être chargées. Cette approche est appelée CSP strict.
Étant donné que les domaines utilisés par le code d'annonce AdSense changent avec le temps, nous n'acceptons que le CSP strict (option 2). Cette approche vous évite de gérer une liste évolutive de domaines qui pourrait devenir obsolète et endommager votre site.
Configurer une CSP stricte avec le code d'annonce AdSense
Pour activer la CSP sur votre serveur Web, suivez la procédure décrite dans Adopter une CSP stricte, qui explique comment configurer l'en-tête CSP et appliquer le nonce à chaque tag de script de votre page, y compris au code AdSense. Le code AdSense est compatible avec les directives CSP suivantes:
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/
Vous pouvez choisir une règle plus permissive si elle convient à votre cas d'utilisation. Les règles plus restrictives peuvent entraîner des interruptions sans préavis.
Exemple de code
Voici un exemple de code AdSense avec un CSP strict:
<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>
Tests
Nous vous recommandons de tester d'abord vos règles en définissant l'en-tête Content-Security-Policy-Report-Only
au lieu de Content-Security-Policy
. L'en-tête signale les cas de non-respect, mais les autorise toujours sur la page.