Content Security Policy (CSP)

Definição

Content Security Policy (CSP) é um mecanismo de segurança oferecido pelos navegadores que permite aos desenvolvedores controlar quais tipos de conteúdo podem ser carregados ou executados em uma página web.

Com CSP, é possível definir políticas claras sobre quais origens de scripts, imagens, estilos, fontes, iframes, entre outros, são permitidas. Seu principal objetivo é prevenir ataques de injeção de código, especialmente XSS (Cross-Site Scripting) — uma das vulnerabilidades mais comuns na web.

As políticas podem ser definidas via cabeçalhos HTTP ou por meio de meta tags HTML.

Objetivos da CSP

  • Prevenir execução de scripts maliciosos (XSS e injeção de código).
  • Controlar origens externas confiáveis para cada tipo de recurso.
  • Mitigar falhas existentes no frontend ao impor restrições adicionais.
  • Fornecer um canal de auditoria por meio de relatórios automáticos de violação.
  • Aumentar a segurança geral da aplicação Web, mesmo em ambientes inseguros.

Exemplo prático — Política CSP via cabeçalho HTTP

Content-Security-Policy: default-src 'self'; script-src 'self' https://cdn.exemplo.com; img-src *; object-src 'none'

Essa política define um conjunto de regras para controle de fontes de conteúdo:

  • default-src 'self': todo conteúdo deve, por padrão, ser carregado da mesma origem do site.
  • script-src 'self' https://cdn.exemplo.com: scripts JavaScript só são permitidos da mesma origem e de um CDN confiável.
  • img-src *: imagens podem ser carregadas de qualquer origem.
  • object-src 'none': bloqueia totalmente conteúdo do tipo <object>, como Flash.

Também é possível aplicar CSP diretamente no HTML:

<meta http-equiv="Content-Security-Policy" content="default-src 'self';" />

Essa abordagem é útil quando o desenvolvedor não tem acesso à configuração do servidor.

O ciclo da CSP

[Servidor responde com uma política CSP (via cabeçalho ou meta tag)]
↓
[Navegador interpreta as regras antes de carregar qualquer recurso externo]
↓
[Recursos que violam a política são bloqueados]
↓
[Se configurado, o navegador envia relatórios de violação para um endpoint definido]

CSP pode operar em dois modos:

  • Enforcement mode: aplica e bloqueia recursos que violam a política.
  • Report-only mode: apenas monitora e envia relatórios sem bloquear nada.

Relacionados

Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com