- Este artículo hace referencia a la implementación de HTA patentada por Microsoft. Para obtener información sobre el manifiesto de caché de HTML5 , también conocido como aplicaciones HTML sin conexión, consulte el manifiesto de caché en HTML5 .
Una aplicación HTML ( HTA ) es un programa de Microsoft Windows cuyo código fuente consta de HTML , HTML dinámico y uno o más lenguajes de secuencias de comandos compatibles con Internet Explorer , como VBScript o JScript . El HTML se usa para generar la interfaz de usuario y el lenguaje de programación se usa para la lógica del programa. Una HTA se ejecuta sin las limitaciones del modelo de seguridad del navegador de Internet; de hecho, se ejecuta como una aplicación "de plena confianza".
Extensión de nombre de archivo | .hta |
---|---|
Tipo de medio de Internet | aplicación / hta |
número mágico | % hta |
Desarrollado por | Microsoft |
Sitio web | msdn |
La extensión de archivo habitual de una HTA es .hta
.
La capacidad de ejecutar HTA se introdujo en Microsoft Windows en 1999, junto con el lanzamiento de Microsoft Internet Explorer 5 . [1] El 9 de diciembre de 2003, se patentó esta tecnología . [2]
Usos
Las HTA brindan al desarrollador las características de HTML junto con las ventajas de los lenguajes de secuencias de comandos. Son populares entre los administradores de sistemas de Microsoft que los utilizan para la administración de sistemas, desde prototipos hasta aplicaciones "a gran escala", especialmente donde la flexibilidad y la velocidad de desarrollo son críticas. [3]
Ambiente
Ejecución
Una HTA se ejecuta usando el programa mshta.exe
o, alternativamente, haciendo doble clic en el archivo. Este programa normalmente se instala junto con Internet Explorer. mshta.exe
ejecuta la HTA creando instancias del motor de renderizado de Internet Explorer (mshtml) así como de cualquier motor de lenguaje requerido (como vbscript.dll).
Una HTA se trata como cualquier archivo ejecutable con extensión .exe
. Cuando se ejecuta a través de mshta.exe (o si se hace doble clic en el icono del archivo), se ejecuta inmediatamente. Cuando se ejecuta de forma remota a través del navegador, se pregunta al usuario una vez, antes de descargar la HTA, si desea guardar o ejecutar la aplicación; si se guarda, simplemente se puede ejecutar bajo demanda después de eso. [3]
De forma predeterminada, las HTA se representan según el "contenido en modo estándar en el modo Estándares IE7 y el contenido en modo peculiar en el modo IE5 (Quirks)", pero esto se puede modificar mediante X-UA-Compatible
encabezados. [3]
El motor HTA (mshta.exe) depende de Internet Explorer . A partir de Windows Vista , un usuario puede eliminar Internet Explorer de Windows, lo que hará que el motor HTA deje de funcionar.
Las HTA son totalmente compatibles con Internet Explorer desde las versiones 5 a 9. Otras versiones, como 10 y 11, aún admiten HTA, aunque con algunas funciones menores desactivadas. [ cita requerida ]
Consideraciones de Seguridad
Cuando se ejecuta un archivo HTML normal, la ejecución se limita al modelo de seguridad del navegador web . Esto significa que se limita a comunicarse con el servidor, manipular el modelo de objetos de la página (generalmente para validar formularios y / o crear efectos visuales interesantes) y leer o escribir cookies .
Por otro lado, una HTA se ejecuta como una aplicación de plena confianza y, por lo tanto, tiene más privilegios que un archivo HTML normal; por ejemplo, una HTA puede crear, editar y eliminar archivos y entradas de registro . Aunque las HTA se ejecutan en este entorno "de confianza", la consulta de Active Directory puede estar sujeta a la lógica de la zona de Internet Explorer y a los mensajes de error asociados.
Desarrollo
Para personalizar la apariencia de una HTA, hta:application
se introdujo una etiqueta opcional en la HEAD
sección. Esta etiqueta expone un conjunto de atributos que permiten el control del estilo del borde, el icono del programa, etc., y proporcionan información como el argumento (línea de comando) utilizado para iniciar la HTA. [4] De lo contrario, una HTA tiene el mismo formato que una página HTML.
Se puede utilizar cualquier editor de texto para crear una HTA. Los editores con características especiales para desarrollar aplicaciones HTML pueden obtenerse de Microsoft [5] o de fuentes de terceros. [6]
Un archivo HTML existente (con extensión de archivo .htm
o .html
, por ejemplo) se puede cambiar a una HTA simplemente cambiando la extensión a .hta
.
Vulnerabilidades
Ejemplo
Este es un ejemplo de Hello World como una aplicación HTML.
< HTML > < HEAD > < HTA: APPLICATION ID = "HelloExample" BORDER = "thick" BORDERSTYLE = "complex" /> < TITLE > HTA - Hola mundo TITLE > HEAD > < BODY > < H2 > HTA - Hola mundo H2 > BODY > HTML >
Ver también
- Host de secuencia de comandos de Windows
- Secuencias de comandos activas
- Marco integrado de Chromium
- Electron (marco de software)
- Firefox OS
- Aplicaciones de navegador XAML (XBAP)
- XUL y XULRunner : un lenguaje y entorno para aplicaciones multiplataforma de Mozilla que se asemeja al mecanismo de las aplicaciones HTML.
- Apache Córdova
Referencias
- ^ Id. De artículo: 200874 en Microsoft Support , en Microsoft Support Knowledge Base
- ^ Microsoft gana la patente de la aplicación HTML
- ^ a b c "Introducción a las aplicaciones HTML (HTA)" . Microsft MSDN . Mayo de 2011 . Consultado el 24 de junio de 2016 . Las secciones incluyen Por qué utilizar HTA, Creación de HTA, Funcionalidad específica de HTA, Seguridad, Compatibilidad, Implementación
- ^ HTA: APPLICATION Object , en MSDN Library, la especificación completa de la etiqueta
hta:application
- ^ HTA Helpomatic
- ^ HTAEdit, un editor para HTA con depurador integrado
- ^ "Spora Ransomware Dropper utiliza HTA para infectar el sistema" . VMRay . 2017-01-17 . Consultado el 22 de diciembre de 2018 .
- ^ "8 virus ransomware más aterradores" . Consultado el 22 de diciembre de 2018 .
enlaces externos
- Referencia de componentes HTML (HTC) en MSDN . Un HTC encapsula una funcionalidad o un comportamiento específicos dentro de las HTA.
- The Script Center , The Script Center, hogar de Hey, Scripting Guy! Blog
- Aprenda sobre secuencias de comandos para aplicaciones HTML (HTA) , un sitio de tutoriales para aprender sobre HTA