Modelo de Objetos del Documento (DOM)
HTML DOM es un modelo de objetos para HTML. El cual define; elementos HTML como objetos, propiedades para todos los elementos HTML, métodos para todos los elementos HTML, y eventos para todos los elementos HTML. También HTML DOM es un API (Interfaz de programación) para JavaScript.
Esta simple declaración <!doctype html> permite una página web sea oficialmente HTML5. W3C proporciona un documento el cual describe grandes diferencias entre HTML5 y HTML4. La siguiente lista destaca los cambios interesantes:
- <!doctype html> es todo lo necesario. Los navegadores modernos toman esto como una instrucción para adoptar un modo estándar para interpretar HTML. Atrás quedaron los días de las discusiones de HTML vs. XHTML y de añadir DTDs hacia la declaración doctype.
- UTF-8 se convierte en la codificación preferida. Esta codificación es la más amigable con el transporte HTTP, mientras se es capaz de mantener la compatibilidad con la mayoría de las representaciones lingüísticas. Aquí se debe estar atento a los errores de seguridad debidos a las conversiones de caracteres hacia y desde UTF-8.
- Interpretación HTML tiene reglas explícitas. Se acabó la dependencia sobre las peculiaridades de la implementación de un navegador, o el verse frustrado por estas. Los caprichos conducen a la ambigüedad, lo cual conduce hacia la inseguridad. Las instrucciones claras sobre el manejo de caracteres no válidos (como los bytes NULL) o etiquetas no terminadas reducen las probabilidades de un navegador "arregle" el HTML hasta el punto de una vulnerabilidad de inyección de HTML sea fácilmente explotable.
- Nuevas etiquetas y atributos son la perdición para los filtros de seguridad basadas en listas negras. Toda esta cuidadosa atención a cada una de las etiquetas enumeradas en la especificación HTML4 deben actualizarse con HTML5.
- El aumento en la complejidad implica una disminución en la seguridad; es más difícil detectar los casos de esquina y situaciones patológicas exponiendo vulnerabilidades.
- Nuevas API para todo, desde elementos multimedia hasta la conversión hacia base64 para el registro de manejadores de protocolo personalizados. Esto muestra la complejidad en la implementación la cual puede introducir errores en el navegador.
Fuentes:
https://www.w3schools.com/whatis/whatis_htmldom.asp
https://www.w3.org/TR/html5-diff/
https://dom.spec.whatwg.org/
Sobre el Autor
Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor Independiente en Ciberseguridad
WhatsApp: https://wa.me/51949304030
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
Youtube: https://www.youtube.com/c/AlonsoCaballero
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/