[Diese Seite ist Teil der Homepage www.daniel-rehbein.de]

Beispiele für Javascript-Anwendungen


Die Sprache Javascript wurde 1995 von Netscape und Sun Microsystems der Öffentlichkeit vorgestellt. Ursprünglich war Javascript zwar ausschließlich von Netscape entwickelt worden und trug den Namen Livescript. Doch dann stellte Sun Microsystems die neue Sprache Java vor und hatte damit großen Erfolg. Um auf diesen Erfolg aufzuspringen, ging Netscape eine Partnerschaft mit Sun Microsystems ein, benannte Livescript in Javascript um und stellte es als gemeinsame Entwicklung der Öffentlichkeit vor. Dabei hat Javascript genausowenig mit Java zu tun wie Leberkäse und Käse: Leberkäse und Käse sind beides Nahrungsmittel. Javascript und Java sind beides Programmiersprachen. Aber damit sind die Gemeinsamkeiten bereits erschöpfend aufgezählt.

Sicherheit von Javascript

Wie augenscheinlich sichere Konzepte mit ein wenig Phantasie und Kombination mit anderen Techniken kompromittiert werden können, zeigte ein Anfang 2002 publik gewordenes Sicherheitsloch des Browsers "Internet Explorer" von Microsoft:

Mit Hilfe einer im Browser enthaltenen ActiveX-Controls "XMLHTML" konnten Javascript-Programme auf andere Webseiten zugreifen und deren Inhalt lesen. Dieses Konzept hatte scheinbar eine hohe Sicherheitsstufe, denn vor dem Javascript-Zugriff auf Webseiten wurde geprüft, ob deren Adresse zu derselben Domain gehört wie die Adresse der gerade angezeigten Seite (auf der sich das Javascript-Programm befindet).

Der Kommunikationsprotokoll HTTP, mit dem Webseiten abgefragt werden, beinhaltet die Möglichkeit, daß Webserver den Seitenabruf auf beliebige andere Adressen umlenken können. Sie senden dazu einen sogenannten "Redirect-Header" an den Browser zurück. Damit kann eine Abfrage sogar auf Dateien auf der lokalen Festplatte des Anwenders umgeleitet werden.

Kombiniert ein Webmaster einen Aufruf des "XMLHTML"-Objekts in Javascript mit einem "Redirect-Header" im Webserver, so kann er per Javascript beliebige Inhalte auf der lokalen Festplatte seiner Besucher auslesen. Er hat somit Zugriff auf dort abgespeicherte Briefe, Adreßverzeichnisse mit Telephonnummern, Bankverbindungen, die Zugangsdaten für die Internet-Verbindung und andere persönliche Daten.

Dieses Beispiel zeigt sehr deutlich, wie schwierig es für den Laien ist, die Sicherheit von eingesetzter Software zu beurteilen. Die diversen Sprachen und Protokolle des Internet, deren Beziehungen zueinander und die sich daraus ergebenden Konsequenzen sind selbst für erfahrene Informatiker nicht immer durchschaubar. Soll ein durchschnittlicher Anwender blindes Vertrauen haben in fremde Software (Javascript-Programme), die ohne sein Zutun auf seinem Rechner ausgeführt werden?

 

Javascript ist eine Interpreter-Sprache, die von WWW-Browsern ausgeführt wird. Der Programmierer eines Javascript-Programms hat den Zugriff auf die gesamte Browser-Umgebung, d.h. er kann auf sämtliche Elemente der aktuellen HTML-Seite zugreifen, kann neue Fenster öffnen und schließen, kann Benutzereingaben inklusive Mausklicks abfangen, kann die Statuszeile verändern und Meldungen ausgeben lassen.

Generell ist es immer ein Sicherheitsrisiko, fremde Software ungeprüft auf dem eigenen Komputer ausführen zu lassen. Während die compilierte Sprache Java mit einem Sicherheitsmodell zur Minimierung des Risikos versehen wurde, dem sogenannten Sandkasten, gibt es ein grundlegendes Sicherheitsprinzip bei Javascript nicht. So ist es nicht überraschend, daß immer wieder Sicherheitslücken bekannt werden, die die Browserhersteller bei der Implementierung ihres jeweiligen Javascript-Interpreters übersehen haben. Über derartige Sicherheitslücken können fremde Personen u.a. Einblick in beliebige Dateien auf der lokalen Festplatte nehmen. Wenn Sie also vertrauliche Daten, Bankverbindungen oder gar Paßwörter auf ihrem Rechner gespeichert haben, sind diese vor Angreifern nicht sicher.

Doch Sicherheitsrisiken werden im Allgemeinen erst dann offenbar, wenn ein Schadensfall eingetreten ist. Und meistens geht ja auch alles gut. Der Autofahrer, der sich im Kfz nicht anschnallt, und der Fahrradfahrer, der keinen Helm aufsetzt, werden in der Regel trotzdem heil am Ziel ankommen - bis auf das eine Mal, wo plötzlich und unerwartet doch etwas passiert.

Javascript und Online-Banking

Wenn Sie das Internet für Bankgeschäfte nutzen, erwarten Sie natürlich, daß Ihre Daten sicher sind, d.h. daß sie von niemanden gelesen oder gar manipuliert werden können.

Seriöse Bankinstitute und Berater empfehlen deshalb, spätestens beim Online-Banking Javascript auszuschalten:

Wenn Ihnen Ihr Bankberater erzählt, daß Sie beim Online-Banking Javascript benötigen würden, so sollten Sie möglichst bald Ihre Bank wechseln.

 

Weit schwerer als mögliche Sicherheitslücken in Javascript wiegen für den Internet-Nutzer aber die Funktionen, die mit Javascript ausgeführt werden. Diese sind im Gegensatz zu versteckten Sicherheitsmängeln für den Benutzer direkt offensichtlich. In den meisten Fällen, wo Javascript halbwegs sinnvoll eingesetzt wird, könnte man denselben Zweck auch ohne Javascript erreichen. Bei den Programmierungen, die tatsächlich nur mit Javascript möglich sind, geht es in der Regel darum, den Benutzer zu nerven, ihn zu gängeln oder bei der Bedienung des WWW zu bevormunden.

Ein großes Ärgernis ist z.B., daß viele Webmaster meinen, ihren Benutzern das Betätigen der rechten Maustaste verbieten zu müssen, damit diese keine Bilder kopieren oder den HTML-Quelltext einsehen können. Damit sperren sie aber auch andere Funktionen der rechten Maustaste, z.B. das Öffnen eines Links in einem neuen Fenster oder das schnelle Setzen eines Lesezeichens, mit dem man später zu dieser Seiten zurückkehren könnte. Wenn Ihr Browser Javascript-Programme ausführt, können Sie auf dieser Seite ja mal die rechte Maustaste drücken. Sind Sie mit dem Ergebnis zufrieden? Ist ein derartiges Zurechtweisen kundenfreundlich?

Wenn man mit eingeschalteter Javascript-Unterstützung häufig über wechselnde Webseiten surft, z.B. häufig in Suchmaschinen nach interessanten Themen sucht und die angezeigten Links nutzt, so werden einem im Laufe der Zeit alle möglichen nervigen bis ärgerlichen Javascript-Spielereien begegnen. Schließlich bleibt nur eine Konsequenz daraus: Javascript ausschalten! Zum Glück kann man in allen gängigen Browsern die Javascript-Unterstützung abschalten.'

Auf keinen Fall sollte man sich von Webmastern erpressen lassen, die den Zugriff auf ihre Webseiten nur mit eingeschaltetem Javascript erlauben wollen. So etwas ist reine Schikane, es gibt keine technischen Gründe, warum Webseiten nur mit Javascript abrufbar sein sollten. Webmaster, die sogar den Abruf des gesetzlich vorgeschriebenen Impressums nur bei eingeschaltetem Javascript ermöglichen, begehen eine Ordnungswidrigkeit. Gemäß §6 TDG muß das Impressum für jedem, der die Webseite aufruft, unmittelbar (also ohne umständliches Einschalten von Javascript oder Download eines anderen Browsers) abrufbar sein. Verstöße dagegen sind eine Ordnungswidrigkeit und können mit bis zu 50.000,- € geahndet werden.

Im folgenden zeige ich ein paar Beispiele dafür, was Webmaster mit Javascript so alles anstellen. Wenn Sie Javascript noch nicht ausgeschaltet haben, ihr Browser also Javascript-Code ausführt, so können Sie mit Betätigung des jeweiligen Buttons eine Demonstration starten.

Die Ausführung von Javascript auf Ihrem Rechner geschieht natürlich auf eigene Gefahr. Wenn Sie Javascript bisher noch nicht ausgeschaltet haben, sollte das für Sie aber nichts ungewöhnliches sein, denn das Risiko, daß per Javascript Dinge geschehen, die Sie nicht wollen, gehen Sie dann ja bei der Erkundung des Internets ohnehin ständig ein. Doch keine Bange, die Javascript-Anwendungen auf dieser Seite führen nichts Böses im Schilde, sondern sollen nur das Prinzip einiger im Netz häufig anzutreffender und für den Nutzer ärgerlicher Programmierungen verdeutlichen. Auch den am Ende meines Textes erwähnten 0190/0900-Dialer habe ich hier nicht versteckt.

Die Javascript-Beispiele auf dieser Seite sind allesamt recht kleine Stücke Quelltext, wie sie Ihnen beim Surfen im Internet ohne Vorwarnung auf jeder beliebigen Webseite, die sie z.B. über eine Suchmaschine erreichen, begegnen können. Doch nun genug des Vorgeplänkels, hier die Javascript-Beispiele:

 

Animation von Objekten:

Manche Webmaster, die sich gerade in die Sprache Javascript eingearbeitet haben, glauben, ihren Besuchern stolz ihre Programmierfähigkeiten vorführen zu müssen. Da fangen dann die Fenster an zu ruckeln und zu zittern und Popup-Fenster sausen hin und her, so daß man nichts mehr lesen kann und die Seite mit Grausen wieder verläßt, sofern man denn die Zeile zur Eingabe einer neuen Webadresse mit der Maus erwischt.

   

Schabernack mit dem Anwender:

Webmaster, die offenbar gar nicht wollen, daß man auf ihren Seiten irgendetwas anklickt, lassen das Browserfenster vor dem Mauszeiger weglaufen wie der Teufel vor dem Weihwasser. Beim erstmalige Aufruf einer Webseite mag dies als neckischer Schabernack erscheinen, für die Benutzbarkeit der Seite ist so etwas aber tödlich.

   

Bildschirmfüllendes Fenster:

Nicht vereinzelte Webmaster, sondern professionell erscheinende Internet-Agenturen sind es überwiegend, die glauben, ihre Seiten sollten bildschirmfüllend dargestellt werden. Undenkbar für deren Werbedesigner, daß der Anwender auf seinem Arbeitsplatz vielleicht noch weitere Fenster geöffnet hat oder daß er Links mit der rechten Maustaste in einem neuen Fenster öffnet. Ohne Rücksicht auf Verluste wird das aktive Browserfenster in den Vollbildmodus gezwungen, verdeckt es alles andere, was der Anwender auf seinem Desktop angeordnet hatte.

   

Popup-Fenster mit Werbung:

Wohl die nervigste Errungenschaft der Sprache Javascript sind die zahllosen kleinen Fenster mit Werbung, die beim Besuch zahlreicher Homepages erscheinen. Da zusätzliche Browser-Fenster auch in der Taskleiste angezeigt werden und von Hand wieder geschlossen werden müssen, sind sie weitaus störender als ein Werbebanner auf der jeweiligen Webseite selbst. Noch ärgerlicher wird die Angelegenheit, wenn die Werbefenster sich gar nicht mehr schließen lassen wollen, sondern immer wieder neue Popups auftauchen. Ein Risiko sind Popup-Fenster, die plözlich in den Vordergrund springen, während man auf einer anderen Webseite gerade ein Formular ausfüllt, z.B. sich mit Benutzernamen und Paßwort bei einer Datenbank anmeldet. Dann hat man statt auf das gewünschte Formular diese Daten in das Werbefenster getippt, wo sie vielleicht per Javascript-Funktion ausgewertet und an den Webmaster geschickt werden.

   

Benutzerverwirrung:

Webmaster, die ihren Besuchern fremde Software unterschieben wollen, wenden zuweilen das mathematische Prinzip "Beweis durch vollständige Irritation" an, was im realen Leben erstaunlich häufig zum Ziel führt. Sie hüllen den Besucher in eine Vielzahl von Popup-Fenstern ein, so daß er den Überblick verliert und beim Wegklicken der zahlreichen Fenster vielleicht nicht bemerkt, daß er dabei mit einem seiner Mausklicks das OK zur Installation eines 0190/0900-Dialers, das eine hohe Telephonrechnung zur Folge haben wird, gibt.

   

 



[Abrufstatistik]  Homepage  Impressum


  Adresse zum Setzen eines Links: http://www.rehbein-dortmund.de/internet.html