Lição 4

Erros comuns com HTML Entity

Evite double encoding, decode como sanitize e bugs de whitespace.

Bugs de entity costumam parecer "caractere errado na página", mas vêm da ordem do pipeline ou de caracteres invisíveis.

Double encoding

Codificar conteúdo já escapado é o problema mais frequente. Sintomas:

  • Usuários veem © em vez de ©
  • A busca encontra a string literal < no texto renderizado

Sempre saiba se o input é texto cru do usuário ou armazenamento pré-escapado.

Tratar decode como sanitize

Decodificar &lt;script&gt;alert(1)&lt;/script&gt; produz <script>alert(1)</script> como texto — mas inserir isso em HTML sem sanitização ainda é perigoso se o renderizador interpretar tags.

Decode para inspeção e edição. Sanitize separadamente antes de renderizar HTML não confiável.

Confundir espaço e nbsp

&nbsp; é espaço sem quebra (U+00A0), não o mesmo que espaço normal (U+0020). Bugs de layout, mismatch em copy-paste e comparações de string falham em silêncio quando estão misturados.

Use preview que visualize nbsp e tabs ao depurar.

Entity errada para o contexto

Escapar < é essencial em HTML. Escapar toda letra ASCII "por segurança" deixa campos de CMS ilegíveis e quebra busca full-text. Escape o que o formato de saída exige — nada a mais.

Entities numéricas inválidas

Referências malformadas como &#9999999; ou &#xZZ; incompletas devem falhar alto no processamento em lote em vez de passar em silêncio.

Voltar à visão geral do curso