Central de Atendimento Nuvem Configure sua loja Configurações Configurações avançadas Códigos externos

Como implementar scripts de forma segura com a Content Security Policy (CSP) na Nuvemshop?

Saiba como proteger seu site contra ataques de scripts maliciosos através do GTM com a Content Security Policy (CSP).

Última atualização: 

22/10/2025

A Content Security Policy (CSP) é uma medida de segurança essencial que protege seu site contra códigos maliciosos e invasões. Ela controla quais scripts e conteúdos podem ser carregados, garantindo que apenas fontes confiáveis sejam executadas na sua loja Nuvemshop.

Neste artigo vamos te auxiliar a como usar os scripts vinculados a loja através do Google Tag Manager (GTM) de forma segura com a CSP. 

Quando a CSP é importante?

É comum utilizar scripts para personalizações, integrações e ferramentas externas, geralmente gerenciados pelo Google Tag Manager (GTM). Seguir as diretrizes da CSP garante que esses scripts funcionem corretamente e mantenham seu site protegido contra violações de segurança.

Se você já possui scripts ativos via GTM e visualizar uma mensagem de erro no console do navegador como no exemplo abaixo, isso pode indicar uma violação da CSP. Esse aviso significa que a estrutura de um ou mais scripts estão fora do padrão permitido pela política de segurança.

Helpjuice Info Callout Title

Sempre que identificar esse tipo de mensagem, indicamos revisar a estrutura dos seus scripts e verificar se estão seguindo as diretrizes da CSP para garantir o funcionamento correto e seguro. Se não tiver experiência com códigos, indicamos contatar nossos Parceiros Especialistas Nuvemshop para que eles possam te ajudar.

 

Boas práticas para implementar scripts com segurança

Siga as orientações abaixo para manter seus scripts gerenciados pelo Google Tag Manager compatíveis com a CSP, evitando erros ou bloqueios e garantindo seu funcionamento ideal.

1. Eliminar scripts inline

Evite usar scripts inline sempre que possível. Caso seja indispensável, use hashes ou nonces para o navegador validar a autenticidade do script.

 

Um nonce consiste em um número criptográfico único, enquanto um hash é um valor criptografado derivado do conteúdo do script.

 

  • Exemplo com nonce: <script nonce="VALOR_DO_NONCE"> /* script inline aqui */ </script>
     
  • Exemplo com hash: <script src="seu_script.js" integrity="sha384-VALOR_DO_HASH"></script>
 
 

2. Utilizar hashes ou nonces para validação

Esses mecanismos permitem que o navegador autorize apenas scripts conhecidos e seguros, prevenindo a execução de código malicioso e garantindo a segurança na execução de scripts inline.

 
 

3. Restringir as fontes de scripts

A diretiva script-src deve ser configurado para definir quais fontes são confiáveis. Limitar o uso de fontes externas reduz significativamente os riscos de segurança.
 

Exemplo: script-src 'self' https://seusite.com https://cdn.exemplo.com;


Nesse exemplo, 'self' autoriza scripts do próprio domínio, enquanto as URLs subsequentes especificam fontes externas permitidas

 

Helpjuice Success Callout Title

É recomendável minimizar o uso de fontes externas para reduzir riscos de segurança, portanto, permita apenas o essencial.

 
 
 

4. Evitar funções inseguras

Evite usar funções como eval(), new Function(), setTimeout(string) e setInterval(string). Essas funções podem executar código arbitrário, comprometendo a segurança do site.

 

Prefira usar funções nomeadas e literais de objeto, que são mais seguras.

 
 

5. Fazer a sanitização dos dados de usuário

Antes de inserir dados fornecidos por usuários no HTML, é essencial utilizar funções de escape adequadas ao contexto (HTML, URL etc.) para evitar ataques do tipo Cross-Site Scripting (XSS).

 
 

6. Usar bibliotecas confiáveis

Dê preferência a bibliotecas e frameworks JavaScript amplamente reconhecidos e atualizados, que já contam com proteções contra vulnerabilidades comuns. Além disso, manter todas as bibliotecas e frameworks atualizados garante a aplicação das últimas correções de segurança.

 
 

7. Testar antes de ativar

Antes de ativar a CSP em modo de aplicação, ative-a primeiro em modo de relatório (Content-Security-Policy-Report-Only). Nesse estágio, as violações são registradas, mas não bloqueadas, permitindo a análise e os ajustes necessários. Após essa fase, o CSP pode ser ativado de forma definitiva para impor as políticas de segurança configuradas.

 
 

Práticas inseguras que devem ser evitadas

Saiba quais os códigos e práticas que comprometem a segurança e não devem ser usados:

1. Funções inseguras

O uso de eval() e similares devem ser evitados devido ao risco de execução de código malicioso.

 
 

2. Inserção direta de HTML a partir de dados do usuário

Caso os dados não sejam devidamente escapados, podem ser explorados para ataques XSS. Portanto, não é recomendável a inserção direta de HTML com dados de usuário sem escape.

 
 

3. Scripts inline sem hashes ou nonces

Esses scripts são bloqueados pelo CSP padrão, pois representam um risco caso o CSP seja mal configurado.

 
 

4. Permissões excessivas para fontes de scripts

A configuração do CSP não deve permitir scripts de múltiplas fontes externas sem necessidades, pois isso aumenta o risco de injeção de código malicioso.

 
 

Práticas seguras recomendadas

Confira abaixo os códigos e práticas seguras que podem ser usados sem riscos:

1. Funções nomeadas e literais de objeto

 São alternativas mais seguras para eval() e funções relacionadas.

 
 

2. APIs DOM seguras

Usar APIs DOM seguras, como document.createElement(), document.createTextNode() e element.appendChild() é recomendado para construir elementos HTML de forma segura.

 
 

3. Funções de escape apropriadas

 Devem ser utilizadas conforme o contexto (HTML, URL, etc.) para evitar ataques XSS.

 
 

4. Bibliotecas de sanitização confiáveis

O uso de bibliotecas de sanitização auxilia na limpeza dos dados do usuário antes de sua inserção no HTML, garantindo maior segurança.

 
 

Agora você já sabe como seguir as diretrizes da Content Security Policy (CSP) para garantir uma implementação segura dos scripts em sua loja, protegendo o site e seus clientes contra ataques.

Success

Quer saber como instalar o Google Tag Manager? Consultar o tutorial: Como instalar Google Tag Manager (GTM) na Nuvemshop?

 

O artigo ajudou você?

Dê sua opinião sobre este artigo