JavaScript – M+T Pocket . Das Programmier-Handbuch (Office Einzeltitel) [Taschenbuch]

3.7 VBScript, JScript und ActiveX

VBScript oder Visual Basic Script wurde von Microsoft aus Visual Basic als direkte Konkurrenz zu
JavaScript entwickelt.
Die Technik ist weitgehend auf das
Windows-Betriebssystem mit INTEL-basierende Prozessoren und den Internet
Explorer als Clientprogramm bzw. Microsoft-Server beschränkt. Gegenüber Visual
Basic wurde VBScript zwar um Webfunktionalität aufgepeppt, aber grundsätzlich
erheblich vereinfacht. Dennoch gilt aber VBScript durch Optimierung in Hinblick
auf die WINTEL-Plattform dort als leistungsfähiger als JavaScript. Das ist aber
kein Vorteil von VBScript, sondern dessen größter Nachteil. Während JavaScript
organisch gewachsen ist und sich über Jahre hinweg in der Praxis als sicher und
ungefährlich für den Anwender bewährt hat, wurde VBScript als eine sehr
plattformnahe Scriptsprache in relativ schneller Zeit in dem Microsoft-Labors
entwickelt. Trickmöglichkeiten durch Webprogrammier als Positiveffekt, massive
Missbrauchsmöglichkeiten und Sicherheitslücken (gerade in Verbindung mit den
äußert umstrittenen ActixeX-Controls) auf der Negativseite als Resultat. Durch
die Beschränkung auf bestimmte Plattformen und die Mißbrauchsfähigkeiten wird
VBScript kaum bei Client-seitigen Scripten eingesetzt. Allerdings findet man
VBScript oft in Verbindung mit ASP (Active Server Pages) auf Microsoft-Webservern.
ASP kann sowohl mit JavaScript als auch VBScript realisiert werden[4].
Dabei muss man sogar zugeben, dass in diesem Fall VBScript oft die bessere Wahl
ist. Da man sich ja nicht um unterschiedliche Plattformen kümmern muss (das
Script läuft ja auf einem Microsoft-Server), kann man mit VBScript die
Möglichkeiten der Plattform durch die enge Verzahnung der
Microsoft-Technologien etwas weiter nutzen, als es mit JavaScript der Fall ist.
Auch das Sicherheitsrisiko, das VBScript auf einem Clientrechner darstellen
kann, ist so auf einem Server nicht gegeben.

Eine mit JavaScript oft gemeinsam genannte Technik nennt
sich JScript. Bei JScript handelt es sich um einen Microsoft-Ableger von
JavaScript, welcher hauptsächlich der Unterstützung von JavaScripten im
Internet Explorer bzw. anderen Microsoft-Produkten wie Webservern dient. Dort
gibt es keinen direkten JavaScript-Interpreter! Das jedoch hat keinerlei
(echte) technische Gründe. Damit umgeht Microsoft nur Zahlungen von
Lizenzgebühren an Sun/Netscape, welche bei der direkten Implementation von
JavaScript fällig wären. JScript besitzt im Wesentlichen die gleiche Struktur
wie JavaScript und versteht die gleiche Syntax. Deshalb kann in der Regel von
der JavaScript-Syntax direkt auf JScript-Syntax geschlossen werden (und
umgekehrt). Allerdings ist der Befehlssatz der beiden Sprachen in einigen
Details nicht vollständig deckungsgleich. Insbesondere bietet JScript einige
Erweiterungen, welche nur im Internet Explorer oder verwandten
Microsoft-Techniken unterstützt werden (mit den gleichen Problemen auf
Clientseite, die auch VBScript hat).

Wenn der Internet Explorer eine Webseite mit einem
JavaScript lädt, darf er durch die nicht vorhandene direkte Implementation von
JavaScript aus Lizenzgründen diese nicht verstehen. Der Internet Explorer muss
sämtliche JavaScripte in einer Webseite in JScripte übersetzen, die sich im
Prinzip durch nichts von den Originalscripten unterscheiden. Diese (künstliche)
Eins-zu-Eins-Transformation funktioniert zwar halbwegs zuverlässig, aber Fehler
sind nicht ganz auszuschließen. Wenn man explizit in JScript programmieren
will, unterscheidet es sich von JavaScript meist nur durch die Angabe einer
anderen Sprache im <SCRIPT>-Container
oder die Verwendung von nichtstandardisierten Zusatzelementen. Sonst ist alles
identisch. Prinzipiell hat JScript bei der Erstellung von Clientscripten kaum
Bedeutung. Der Internet Explorer versteht JavaScript wie gesagt weitgehend
(wenn auch künstlich zu einer indirekten Interpretation gezwungen), der
Navigator von Netscape und viele andere Browser dagegen kein JScript. Für die
direkte Programmierung in JScript spricht nur die Konstellation, dass man
bewusst nur für den Internet Explorer programmieren und zudem die speziellen
Features nutzen möchte, die JScript auf Grund seiner Windows- und Internet
Explorer-Optimierung bietet. JScript macht auch bei ASP Sinn.

Eine oft genannte Technik im Internet nennt sich
ActiveX-Controls. Mit »ActiveX« bezeichnet Microsoft seine gesamte Internet-
und Multimedia-Technologien bzw. die Verbindung von vielen verschiedenen
Entwicklungstechniken. Eingeführt wurde die ActiveX-Technologie mit dem
Internet Explorer 3.0 in Form von ActiveX-Controls, die als Komponenten in eine
Webseite integriert werden konnten. Microsoft reagierte damit auf die
Plug-In-Technologie, die es Programmierern erlaubte, die Funktionalität des
Netscape-Navigators durch eigenen Code zu erweitern. ActiveX ist explizit nicht
plattformunabhängig, sondern läuft nur auf einer Computerarchitektur und einer
Betriebssystemfamilie ohne Einschränkungen – INTEL-PCs und WINDOWS. Einige
andere Plattformen werden eingeschränkt unterstützt. Diese Einschränkung auf
eine zentrale Zielplattform für ActiveX erlaubt der Technik, alle Leistungen
des Betriebssystems Windows auszuschöpfen. Ein ActiveX-Control kann auf alle
Möglichkeiten des Win32-API zurückgreifen und wird auch als ein in eine
HTML-Seite eingebundenes Element genauso aussehen und zu bedienen sein, wie ein
"normales" Windows-Steuerelement. Das Problem dieser exterm
weitreichenden Möglichkeiten von ActiveX-Controls ist die Missbrauchsfähigkeit
(unbemerkter Zugriff auf die Festplatte des Besuchers, Auslesen von Daten,
Tastatureingaben protokollieren und per Internet verschicken usw.). Es gibt
kein echtes Sicherheitskonzept, um zu verhindern, dass ein ActiveX-Control auf
dem Rechner des Besuchers einer Webseite keinen Schaden anrichtet, sondern nur
eine Registrierungsnummer in Form einer digitalen Unterschrift, die aussagt,
dass das Control bei einer von Microsoft lizenzierten Organisation registriert
wurde. Was das wert ist, wurde beispielsweise Anfang 2001 recht drastisch
deutlich. Das Haus-Trustment-Center (die Zertifizierungsstelle für
ActiveX-Controls) von Microsoft – Verisign (http://www.verisign.com)
– kennzeichnete am 29. und 30. Januar zwei gefälschte ActiveX-Controls als
unbedenklich. Unabhängige Experten halten ActiveX-Controls für das größte
Sicherheitsrisiko im Web überhaupt.