Lección 4
Errores comunes de entidades HTML
Evita doble codificación, decodificar-como-sanitizar y bugs de espacios en blanco.
Los bugs de entidades a menudo parecen «carácter incorrecto en la página» pero vienen del orden del pipeline o caracteres invisibles.
Doble codificación
Codificar contenido ya escapado es el problema más frecuente. Síntomas:
- Los usuarios ven
©en lugar de © - La búsqueda encuentra la cadena literal
<en texto renderizado
Conoce siempre si tu entrada es texto crudo de usuario o almacenamiento previamente escapado.
Tratar la decodificación como sanitización
Decodificar <script>alert(1)</script> produce <script>alert(1)</script> como texto — pero insertarlo en HTML sin sanitización sigue siendo peligroso si tu renderizador interpreta etiquetas.
Decodifica para inspección y edición. Sanitiza por separado antes de renderizar HTML no confiable.
Confundir espacio y nbsp
es un espacio de no separación (U+00A0), no lo mismo que un espacio normal (U+0020). Bugs de layout, discrepancias al copiar y pegar y comparaciones de cadenas fallan en silencio cuando se mezclan.
Usa una vista previa que visualice nbsp y tabulaciones al depurar.
Entidad incorrecta para el contexto
Codificar < es esencial en HTML. Codificar cada letra ASCII «por seguridad» crea campos CMS ilegibles y rompe búsqueda de texto completo. Escapa lo que exija el formato de salida — no más.
Entidades numéricas inválidas
Referencias malformadas como � o incompletas &#xZZ; deberían fallar ruidosamente durante el procesamiento por lotes en lugar de pasarse en silencio.