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 &lt;script&gt;alert(1)&lt;/script&gt; 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

&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 &#9999999; o incompletas &#xZZ; deberían fallar ruidosamente durante el procesamiento por lotes en lugar de pasarse en silencio.

Volver al resumen del curso