HTML-Applikation (kurz: HTA) ist ein Begriff von Microsoft für Computerprogramme, die den Internet Explorer (bzw. die zugehörige Systemkomponente mshta.exe) zur Ausführung nutzen. Es handelt sich dabei nur eingeschränkt um Webanwendungen, da die eingesetzten Skriptsprachen wie JScript oder Visual Basic Script Microsoft-eigene Techniken sind. Dabei werden den HTML-Applikationen spezielle Zugriffsrechte, wie etwa den Zugriff auf das Dateisystem oder andere ActiveX-Objekte, ohne explizite Erlaubnis des Benutzers gewährt.

HTA:Application-Element

Bearbeiten

Die Grundlage derartiger Anwendungen ist das sogenannte HTA:Application-Element, das ab Internet Explorer (Version 5.0) in Verbindung mit mindestens einem 32-Bit-Windows unterstützt wird. Dieses Element wird direkt in den Header gesetzt und bestimmt anhand der Attribute/Eigenschaften die Anwendung.

Application-Attribut

Bearbeiten

Da HTML-Applikationen grundsätzlich auch Cross-Site-Scripting erlauben, wurde zum Schutz der HTML-Applikation das Application-Attribut für die HTML-Elemente <frame> und <iframe> eingeführt. Ein Setzen dieses Attributs bewirkt, dass die im Frame geladene Webseite keinen Zugriff auf die HTML-Applikation bekommt und somit keinen gefährlichen Code ausführen kann. Die Seite innerhalb des Frames wird dann nicht mehr wie die ganze HTML-Applikation in der Arbeitsplatz-Zone ausgeführt, sondern in der für Internet-Seiten üblichen Internet-Zone des Internet Explorers.

Vergleich mit VBS

Bearbeiten

Visual Basic Script (VBS) ist eine der Programmiersprachen innerhalb von HTA-Dateien und bietet die meisten Möglichkeiten, auf das System zuzugreifen. Dadurch gelten die Möglichkeiten und Beschränkungen von VBS auch für HTA-Dateien. Im Gegensatz zu einer einfachen *.VBS-Datei bietet die HTA-Datei über die Steuerelemente der HTML-Formulare Möglichkeiten, Eingaben abzufragen, Ausgaben zu schreiben und den Inhalt der HTML-Seite dynamisch anzupassen. Wie VBS wird der Code in HTA-Dateien interpretiert und nicht kompiliert, so dass relativ kleine Dateien mit großem Funktionsumfang erstellt werden können und der Quellcode einsehbar ist.

Siehe auch

Bearbeiten
Bearbeiten