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 <script>alert(1)</script> 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
é 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 � ou &#xZZ; incompletas devem falhar alto no processamento em lote em vez de passar em silêncio.