Una aplicació HTML (HTA) [1] és un programa de Microsoft Windows el codi font del qual consta de HTML, HTML dinàmic i un o més llenguatges admesos per Internet Explorer, com ara VBScript o JScript. L'HTML s'utilitza per generar la interface d'usuari i el llenguatge per a la lògica del programa. Un HTA s'executa sense les restriccions de seguretat pròpies d'un navegador d'Internet.

L'extensió habitual d'un fitxer d'HTA és .hta. Es pot crear una aplicació per ser executada guardant un arxiu .html o .htm amb l'extensió .hta, però no serà una aplicació HTML correcta si no s'indica a la capçalera <head>…</head> afegint <hta:application…>

L'execució d'HTA es va introduir al Microsoft Windows el 1999, juntament amb el llançament de Microsoft Internet Explorer 5. El 9 de desembre de 2003, aquesta tecnologia va ser patentada.[2]

Usos modifica

Les HTA ofereixen al desenvolupador les característiques de l'HTML i els avantatges dels llenguatges de script. Són molt populars entre els administradors de sistemes de Microsoft, que les utilitzen per a l'administració del sistema, especialment quan la flexibilitat i la velocitat de desenvolupament són crítiques.

Entorn modifica

Execució modifica

Una HTA s'executa utilitzant el programa mshta.exe o fent doble clic sobre el fitxer. Normalment, aquest programa s'instal·la juntament amb Internet Explorer.

Un fitxer HTA és tractat com qualsevol fitxer executable amb extensió .exe. Quan s'executa a través de mshta.exe (o fent doble click), l'execució és immediata. Quan s'executa de forma remota, a través del navegador, primer es demana a l'usuari que descarregui el fitxer HTA.

El mshta.exe depèn d'Internet Explorer. A partir de Windows Vista, els usuaris poden treure Internet Explorer del Windows, cosa que farà que les HTA deixin de funcionar. Les HTA són totalment compatibles amb Internet Explorer a partir de les versions 5 a 9. Altres versions, com ara 10 i 11, segueixen donant suport a les HTA, encara que amb algunes funcions menors desactivades.

Consideracions de seguretat modifica

Quan s'executa un fitxer HTML normal, l'execució es limita al model de seguretat del navegador web, és a dir, es limita a comunicar-se amb el servidor, manipulant el model d'objectes de la pàgina (normalment per validar formularis i / o crear efectes visuals interessants) i a la lectura o l'escriptura de cookies.

D'altra banda, una HTA s'executa com una aplicació totalment fiable i, per tant, té més privilegis que un fitxer HTML normal; per exemple, un HTA pot crear, editar i eliminar fitxers i entrades del registre.

Desenvolupament modifica

Per personalitzar l'aparença d'una HTA, s'ha introduït l'etiqueta hta: application a la secció HEAD. Aquesta etiqueta conté un conjunt d'atributs que permeten controlar l'estil de les vores, la icona del programa, etc., i proporcionen altra informació, com l'argument (línia d'ordres) que s'utilitza per llançar l'HTA.[3] Tret d'això, un HTA té el mateix format que una pàgina HTML.

Es pot utilitzar qualsevol editor de text per crear un HTA.

Vulnerabilitats modifica

A vegades s'ha utilitzat HTA per introduir programari maliciós.

Exemple modifica

Un petit exemple de Hello World amb una aplicació HTML

<HTML>
<HEAD>
<HTA:APPLICATION ID="HelloExample" 
 BORDER="thick" 
 BORDERSTYLE="complex"/>
<TITLE>HTA - Hello World</TITLE>
</HEAD>
<BODY>
<H2>HTA - Hello World</H2>
</BODY>
</HTML>

Referències modifica