0Pricing
HTML Academy · Aula

Política de Segurança de Conteúdo meta http-equiv

Defina uma Política de Segurança de Conteúdo por meio de meta http-equiv.

Política de Segurança de Conteúdo meta http-equiv é uma aula grátis de HTML Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de HTML Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de HTML Academy inclui 4 aulas no total.

O que é CSP?

A Política de Segurança de Conteúdo é uma política imposta pelo navegador que restringe quais recursos uma página pode carregar e executar. É a defesa mais forte contra scripts entre sites: mesmo que um invasor injete uma tag <script>, o navegador se recusa a executá-la, a menos que a política permita isso.

Duas formas de fornecê-la

A CSP pode ser enviada como um cabeçalho de resposta HTTP (Content-Security-Policy: ...) ou como uma tag meta no HTML: <meta http-equiv="Content-Security-Policy" content="...">. O cabeçalho é preferível; a tag meta é útil quando você não pode controlar o servidor.

<meta http-equiv="Content-Security-Policy"
  content="default-src 'self'; script-src 'self' https://cdn.example.com">

Diretivas comuns

default-src é a alternativa padrão para tipos de recursos não especificados. script-src, style-src, img-src, connect-src (XHR/fetch), font-src e frame-src restringem cada um o respectivo tipo. Permita explicitamente origens específicas ou use 'self' somente para a mesma origem.

A palavra-chave self

'self' (entre aspas) refere-se à própria origem da página. script-src 'self' significa "executar somente scripts hospedados na mesma origem que a página". Essa é a base da maioria das políticas; adicione CDNs externos específicos quando necessário.

Bloqueando scripts inline

Por padrão, a CSP bloqueia todas as tags <script> inline e os atributos de manipuladores de eventos (onclick). Essa é a proteção mais forte contra XSS: um <script> injetado não pode ser executado porque está inline. Mova todos os scripts para arquivos externos referenciados por src.

Nonces e hashes

Para scripts inline necessários, use um nonce: o servidor gera um token aleatório por solicitação, define-o como script-src 'nonce-RANDOM' na CSP e adiciona nonce="RANDOM" às tags <script> legítimas. Scripts injetados não têm o nonce e são bloqueados.

<meta http-equiv="Content-Security-Policy"
  content="script-src 'nonce-abc123'">
<script nonce="abc123">// allowed</script>
<script>// blocked — no nonce</script>

unsafe-inline e unsafe-eval

'unsafe-inline' permite novamente scripts e estilos inline. 'unsafe-eval' permite novamente eval() e new Function(). Ambos enfraquecem gravemente a CSP — use-os somente como último recurso durante uma migração e planeje removê-los.

Limitações da tag meta

A CSP fornecida por meio de uma tag meta não pode usar a diretiva report-uri (nem outros recursos de relatório). Ela também entra em vigor mais tarde que um cabeçalho — tudo que vier antes da tag meta fica desprotegido. Os cabeçalhos são muito melhores; use meta somente como alternativa.

Modo somente para relatório

Teste uma nova política sem interromper o site: Content-Security-Policy-Report-Only: .... O navegador relata as violações sem bloqueá-las, para que você possa ajustar a política até que ela permita todos os recursos legítimos antes de ativar a aplicação.

Armadilhas comuns

Esquecer style-src 'unsafe-inline' bloqueia estilos inline (frequentemente produzidos por estruturas de trabalho). Esquecer connect-src bloqueia AJAX para APIs. Sempre teste a política primeiro no modo somente para relatório e verifique no console quais recursos foram bloqueados.

Estratégia moderna de CSP

Uma CSP rigorosa combina script-src 'nonce-RANDOM' 'strict-dynamic' para scripts com uma lista de permissões restrita para todo o restante. 'strict-dynamic' permite que scripts com nonce carreguem outros scripts sem listá-los individualmente — é muito mais fácil de manter do que listas de permissões por origem.

Verificação de conhecimento

Como a CSP se defende contra ataques XSS mesmo quando um invasor consegue injetar uma tag de script?

Resumo

A CSP é uma política imposta pelo navegador que restringe quais scripts, estilos, imagens e outros recursos podem ser carregados. Forneça-a por meio do cabeçalho de resposta (preferível) ou de uma tag meta. Use nonces para scripts inline necessários, evite unsafe-inline/unsafe-eval e teste primeiro no modo somente para relatório. Uma CSP rigorosa com 'nonce-X' 'strict-dynamic' é a base moderna.

Perguntas Frequentes

A aula “Política de Segurança de Conteúdo meta http-equiv” é grátis?

Sim — o texto completo de “Política de Segurança de Conteúdo meta http-equiv” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de HTML Academy, atualize para CoddyKit PRO. O curso de HTML Academy inclui 4 aulas no total.

O que vou aprender em “Política de Segurança de Conteúdo meta http-equiv”?

Defina uma Política de Segurança de Conteúdo por meio de meta http-equiv. Você pratica HTML Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar HTML Academy?

Nenhuma experiência prévia é necessária. HTML Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Política de Segurança de Conteúdo meta http-equiv”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de HTML Academy?

Sim. Cada aula de HTML Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Política de Segurança de Conteúdo meta http-equiv
  2. XSS via innerHTML e como evitá-lo
  3. Sandbox de iframe e Política de Permissões
  4. HTTPS e integridade de subrecursos
← Voltar para HTML Academy