Este artigo descreve a Política de Segurança de Conteúdo (CSP, na sigla em inglês) e como integrá-la ao seu código de anúncio do Google AdSense. Os publishers não precisam usar a CSP. Se quiser usá-la, siga as etapas abaixo para garantir que o código do AdSense funcione corretamente quando você ativar a CSP.
O que é a CSP
A Política de Segurança de Conteúdo (CSP) é uma forma de proteger sua página da web limitando quais recursos e scripts podem ser carregados e executados. É possível ativar a CSP definindo um cabeçalho da Content-Security-Policy nas respostas HTTP do servidor da Web.
Há duas maneiras padrão de configurar a CSP:
- Especifique uma lista de permissões de domínios que podem injetar recursos na página.
- Especifique um valor de uso único aleatório com que os recursos na página precisam ser marcados para carregar. Essa abordagem é conhecida como CSP estrita.
Como os domínios usados pelo código de anúncio do Google AdSense mudam com o tempo, só oferecemos suporte à CSP estrita (opção 2). Essa abordagem elimina a necessidade de manter uma lista contínua de domínios que podem se tornar desatualizados e prejudicar seu site.
Como configurar a CSP estrita com o código de anúncio do Google AdSense
Para ativar a CSP no servidor da Web, siga as etapas descritas em Adotar uma CSP estrita, que explica como configurar o cabeçalho da CSP e aplicar o valor de uso único a cada tag script na página, incluindo o código do AdSense. O código do AdSense oferece suporte especificamente para as seguintes diretivas da 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/Você pode escolher uma política mais permissiva, se ela for adequada ao seu caso de uso. Políticas mais restritivas podem bloquear recursos ou scripts necessários sem aviso prévio.
Exemplo de código
Confira um exemplo do código do AdSense com CSP estrita:
<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>Teste
Recomendamos que você teste suas políticas primeiro definindo o cabeçalho Content-Security-Policy-Report-Only em vez de Content-Security-Policy. O cabeçalho informa sobre as violações, mas não impede que apareçam na página.