Weitere aktuelle Java-Titel finden Sie bei dpunkt.
 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index


15.1.2

Sicherheit in Applets


Bei Applets spielt Sicherheit eine große Rolle, da sie in HTML-Seiten eingebunden werden können. Wenn man eine HTML-Seite in den Browser lädt, kann man vorher nicht wissen, was sich auf dieser Seite befindet. Ist dort ein Applet eingebunden, wird es sofort vom Browser geladen und gestartet. Der Benutzer, der eine Seite zum ersten Mal lädt, kennt normalerweise die Funktion evtl. eingebundener Applets vorher nicht. Der Programmierer des Applets könnte bei uneingeschränktem Zugriff auf den Client-Host (das ist der Host, auf den ein Applet geladen wurde) Informationen bekommen, ohne dass der Betrachter der HTML-Seite etwas davon merkt.

Die für die Sicherheit eines Systems wichtigsten Operationen beinhalten unter anderem das Lesen bzw. Schreiben von Dateien und den Aufbau von Netzwerkverbindungen. Der SecurityManager schränkt die Benutzung solcher Operationen massiv ein. Hierbei muss man jedoch unterscheiden zwischen Applets In Java ist mit »lokal« allerdings nicht nur gemeint, dass sich das Applet auf der lokalen Platte befindet. Zusätzlich muss das Verzeichnis, im CLASSPATH liegen, um als lokal zu gelten.

In Verzeichnissen, die in der Umgebungsvariablen CLASSPATH stehen, sollten nur Klassen abgelegt werden, die vom Benutzer verifiziert wurden. Steht eine Applet-Klasse in einem Verzeichnis des CLASSPATH, so besitzt sie volle Zugriffsmöglichkeiten.

Die Unterscheidung der Zugriffsrechte beruht auf dem Namensraum-Konzept (»name space«). Jede Klasse, die geladen wurde, wird einem solchen Namensraum zugeordnet. In einem Namensraum befinden sich Klassen mit gleichem Herkunftsort. Auf diese Weise können mehrere Klassen mit gleichem Namen, aber unterschiedlichem Herkunftsort geladen und bezüglich der erlaubten Zugriffe unterschieden werden. Der Herkunftsort wird im Zusammenhang mit Sicherheitsrichtlinien auch Codebase genannt.

Die Identifizierung einer Klasse erfolgt über den Namen und die Codebase. Nur Klassen, die sich auf der lokalen Platte und gleichzeitig im CLASSPATH befinden, werden dem »name space« für lokale Klassen zugeordnet und besitzen somit volle Zugriffsrechte. Applets, die lokal geladen werden, können einen Frame oder ein Window anzeigen, ohne dass im Fenster eine Warnung erscheint: Dem Applet wird mehr Vertrauen entgegengebracht, wenn es lokal ist.


 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index

Copyright © 2002 dpunkt.Verlag, Heidelberg. Alle Rechte vorbehalten.