¿Qué son las entidades HTML?

El lenguaje de marcado de hipertexto, o HTML, es el idioma principal de las páginas web en Internet. Incluye soporte para muchos otros lenguajes que agregan características y estilos adicionales, como JavaScript y CSS. Todos estos lenguajes se basan en texto, con algunos caracteres significativos que se utilizan para separar las cadenas literales que se imprimirán en el navegador y el código que se interpretará y ejecutará.

Sin embargo, este diseño tiene algunos problemas, que salen a la luz cuando quieres imprimir uno de los personajes destacados en tu navegador. Los mejores ejemplos de caracteres que se pueden utilizar son los símbolos «menos que» y «más que». Respectivamente, estos símbolos se utilizan para abrir y cerrar segmentos de código en HTML. La forma correcta de imprimir estos caracteres de forma segura en la pantalla es utilizar entidades HTML.

Entidad HTML y seguridad

Debido a estos caracteres especiales, debe tener mucho cuidado para asegurarse de reemplazar la función HTML si desea imprimirlos en su navegador. Desafortunadamente, muchos desarrolladores web olvidan que los usuarios pueden enviar entradas en muchos sitios web. Si esta entrada del usuario contiene caracteres significativos y las entidades HTML no se reemplazan, en un proceso llamado desinfección, el sitio web tiene una vulnerabilidad de Cross-Site Scripting (XSS).

Consejo: no intente enviar caracteres especiales a sitios web en un intento de detectar vulnerabilidades XSS. Técnicamente, es piratería y un delito penal hacerlo, a menos que tenga el permiso del propietario del sitio.

Cómo funcionan las entidades HTML (y en ocasiones no)

Las entidades HTML funcionan porque el navegador sabe cómo mostrarlas como un carácter relevante especial y no las trata como un carácter especial. Cada entidad HTML comienza con un ampersand «&» y termina con un punto y coma «;». La mayoría de los caracteres se identifican mediante un número de entidad, aunque algunos caracteres especiales también tienen un nombre corto. Por ejemplo, los números de entidad «&», «» además de los nombres de entidad «& amp;», «& lt;» y «& gt;» El navegador sabe que estas cadenas significan que deben mostrarse relevantes.

Sugerencia: puede obtener una lista completa de nombres de personajes SEO, aunque el soporte varía el nombre de la entidad según el navegador.

En la mayoría de los casos, los usuarios solo deben mostrar los caracteres representados por entidades HTML. Sin embargo, los caracteres codificados, normalmente «&», se pueden mostrar mediante un proceso llamado «Codificación doble». Esto ocurre cuando el carácter comercial aparece en su versión codificada. La codificación doble generalmente ocurre cuando la entrada está codificada correctamente, ya que se envía, sin embargo, cuando se emite, se vuelve a codificar. Esto da como resultado un carácter comercial al principio de «& amp;» codificado por segunda vez y parece «& amp;», el navegador lo interpreta correctamente como un cable que debe imprimirse como una entidad HTML de decodificación «& amp;» e ignorando una entidad parcial.