Content Security Policy: o escudo extra contra ataques XSS no seu site
Oi! Aqui é a Sensei da GeHost 👋 Hoje vamos falar de uma camada de proteção que pouca gente conhece, mas que faz uma diferença enorme na segurança do seu site: a Content Security Policy (CSP). Calma que não é nada complicado — vou te explicar com calma, passo a passo, sem juridiquês nem termo técnico jogado sem explicação.
O que é CSP, afinal?
Pense na CSP como uma lista de convidados na porta do seu site. Você diz ao navegador: "só deixe entrar scripts, imagens e estilos que vieram destas fontes que eu autorizei". Qualquer coisa fora dessa lista — um script malicioso injetado por um invasor, por exemplo — é bloqueada automaticamente pelo navegador, antes mesmo de rodar.
Por que isso ajuda contra XSS?
XSS (Cross-Site Scripting) é quando alguém consegue injetar um código malicioso no seu site — normalmente através de um campo de formulário, comentário ou área que aceita conteúdo do visitante — e esse código acaba rodando no navegador de quem acessa a página. Uma CSP bem configurada reduz muito esse risco porque, mesmo que o invasor consiga inserir o código, o navegador vai recusar executá-lo se a origem dele não estiver na sua lista autorizada.
💡 Dica da Sensei: CSP não substitui boas práticas como validar e higienizar dados de entrada no seu site/sistema — ela é uma camada extra de defesa, tipo um cinto de segurança além do airbag.
Passo 1: Mapeie de onde vêm os recursos do seu site
Antes de criar qualquer regra, anote:
- De onde vêm os scripts (JavaScript) que seu site carrega — são só do seu próprio domínio ou também de serviços externos, como Google Analytics, fontes do Google Fonts, chat de suporte, etc.?
- De onde vêm as imagens e vídeos.
- De onde vêm os estilos (CSS) — próprios ou de CDNs externos.
Essa lista é essencial: se você esquecer de autorizar uma fonte legítima, o navegador vai bloquear ela também, e alguma parte do site pode "quebrar" visualmente ou parar de funcionar.
Passo 2: Escolha como vai aplicar a política
Existem duas formas comuns de ativar a CSP:
- Via tag
<meta>no HTML — mais simples, você adiciona uma linha dentro do<head>das páginas do seu site. - Via cabeçalho HTTP — configurado no arquivo
.htaccessdo seu domínio (esse é o método mais forte e recomendado, porque vale para o site inteiro de uma vez).
Passo 3: Monte uma política básica
Uma CSP é formada por "diretivas" — cada uma controla um tipo de recurso. As mais usadas:
- default-src: a regra padrão para tudo que não tiver uma regra específica.
- script-src: de onde os scripts podem vir.
- style-src: de onde os estilos (CSS) podem vir.
- img-src: de onde as imagens podem vir.
Um exemplo simples e bem restritivo, que só permite recursos do próprio domínio:
Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self'
O termo 'self' significa "só do meu próprio domínio". Se você usa algum serviço externo (tipo Google Fonts ou um chat de atendimento), precisa adicionar o domínio dele na diretiva certa — senão ele será bloqueado.
Passo 4: Teste antes de travar tudo (modo Report-Only)
Essa é a dica mais importante do guia: nunca ative a CSP "travando" tudo de uma vez em produção. Existe um modo de teste chamado Content-Security-Policy-Report-Only. Nesse modo, o navegador avisa o que seria bloqueado, mas não bloqueia de verdade — assim você identifica o que precisa ajustar antes de aplicar a política real.
💡 Dica da Sensei: rode o site em modo Report-Only por alguns dias, navegando por todas as páginas importantes (formulários, checkout, área de login), antes de trocar para o modo que bloqueia de verdade.
Passo 5: Aplique a regra no seu domínio
Se você optou pelo cabeçalho HTTP (recomendado), o ajuste é feito no arquivo .htaccess da pasta do seu site. Você pode editar esse arquivo direto pelo Gerenciador de Arquivos do cPanel:
- Acesse seu cPanel e clique em Gerenciador de Arquivos.
- Navegue até a pasta
public_html(ou a pasta do domínio específico, se você tiver mais de um site). - Localize o arquivo
.htaccess(se ele estiver oculto, ative a opção "mostrar arquivos ocultos" nas configurações do Gerenciador de Arquivos). - Edite o arquivo e adicione a linha da sua política de CSP.
- Salve e teste o site em uma aba anônima do navegador.
⚠️ Se você não tem familiaridade com edição de arquivos do servidor, não tem problema nenhum em pedir uma força — nosso suporte pode te orientar. E lembre sempre de baixar uma cópia do .htaccess atual antes de mexer, assim você tem como voltar caso algo saia diferente do esperado.
Passo 6: Monitore e ajuste com carinho
Depois de aplicar, fique de olho por alguns dias:
- Abra seu site em navegadores diferentes e confira se tudo carrega normalmente (imagens, formulários, botões).
- Use o console do navegador (tecla F12, aba "Console") para ver se aparece algum aviso de bloqueio de CSP.
- Ajuste a política aos poucos, liberando só o que realmente precisa, em vez de deixar tudo aberto "pra não dar erro" — quanto mais restritiva e específica, mais protegido fica o site.
Resumo do caminho
Mapear fontes → testar em modo Report-Only → aplicar via .htaccess → monitorar e refinar. Com esses passos, seu site ganha uma camada real de proteção contra scripts maliciosos, sem precisar de conhecimento avançado de programação.
🌱 Se tiver qualquer dúvida na hora de editar o .htaccess ou quiser que a gente revise sua política de CSP, é só chamar o suporte da GeHost pelo painel. Estamos aqui pra isso!