JavaScript/Tutorials/Local Machine Zone Lockdown
Der Local Machine Zone Lockdown (engl. für Sperrung der Zone des lokalen Computers) bewirkt, dass in HTML-Seiten im lokalen Umfeld sämtliche "aktiven Inhalte" standardmäßig deaktiviert werden.
Inhaltsverzeichnis
Dies ist eine an sich vernünftige Maßnahme, da die Same-Origin Policy einen Punkt außer Acht lässt: Ein Script darf im Kontext der Herkunftsdomain ohne Begrenzung schalten und walten sowie mittels XMLHttpRequest Daten empfangen und versenden. Das kann zu einem schwerwiegenden Problem werden, wenn das Script nicht im Web, sondern lokal ausgeführt wird. Lokal bedeutet, dass das Dokument auf einer Festplatte des Client-Rechners liegt und von dort aus im Browser geöffnet wird. Die URI beginnt dann mit file://localhost/
, in der Kurzschreibweise file:///
.
Die Konsequenz ist, dass ein solches Script prinzipiell alle Dateien auf den erreichbaren Datenträgern auslesen kann (aber nicht ändern – zumindest nicht über XMLHttpRequest
alleine). Mit einigen Kniffen können diese abgegriffenen Daten ins Web gesendet werden. Somit ließen sich vertrauliche Daten ausspionieren. Es stellt daher ein grundlegendes Problem dar, wenn fremde Dokumente mit JavaScript auf den eigenen Rechner gelangen.
Der Internet Explorer auf einem Rechner mit Windows stellt daher alle lokalen Dokumente mit Scripten unter Generalverdacht und verhindert ihre Ausführung mit einer Warnmeldung, die prinzipiell jedes Mal mit einer neuerlichen Freigabe quittiert werden muss:
Dies führt zu dem widersinnig erscheinenden Ergebnis, dass dieselbe Seite, die im Internet (in einer http-Umgebung) trotz der dort in der Regel geltenden höheren Sicherheitsanforderungen anstandslos dargestellt wird, in der lokalen Umgebung hingegen (in der ohnehin beliebige Programme gestartet werden können) als ein erhöhtes Sicherheitsrisiko eingestuft wird.
Aufhebung der Beschränkung
Es gibt zwei Möglichkeiten, diese Beschränkung aufzuheben, ohne in jeder Browsersitzung die Einzelfreigabe durchführen zu müssen:
Internetoptionen im Browser
Sie als Nutzer können durch die folgende Änderung in den Browsereinstellungen den Local Machine Zone Lockdown pauschal wieder ausschalten:
- Gehen Sie in Extras – Internetoptionen – Registerkarte Erweitert – Abschnitt Sicherheit
- Markieren Sie dort "Ausführung aktiver Inhalte in Dateien auf dem lokalen Computer zulassen" (falls Sie das Dokument auf der lokalen Festplatte haben) und/oder "Ausführung aktiver Inhalte von CD auf dem lokalen Computer zulassen" (falls Sie das Dokument auf CD haben).
Mark of the Web
Die Herausgeber eines Projekts auf HTML-Basis, das (auch) lokal laufen soll und JavaScript-Unterstützung nutzt, haben von Microsoft eine Möglichkeit erhalten, diese Sperrung außer Kraft zu setzen. Sie können der Webseite im HTML-Dateikopf einen Mark-of-the-Web-Kommentar hinzufügen, der die HTML-Datei in die Sicherheitszone der angegebenen URL zwingt. Dadurch kann die Webseite das Skript in einer weniger eingeschränkten Zone ausführen.
<!-- saved from url=(0013)about:internet -->
Dies bewirkt, dass die Scripte die (beschränkten) Zugriffsrechte, die sie aus dem Internet heraus hätten, erhalten. Dies reicht für normales JavaScript allemal aus.
Weblinks
- MSDN: Understanding Local Machine Zone Lockdown
- Microsoft/technet: Sperrung der Zone des lokalen Computers in Internet Explorer
- Microsoft/technet: Mark-of-the-Web-Kommentar hinzufügen