Wikipedia:Technik/Browser

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Browser

Diese Projektseite beschreibt, wie sich über die normalen Browser-Funktionen und die Standard-Eigenschaften des Wiki hinaus zusätzliche Hilfsmittel aktivieren lassen.

Sicherheitskonzept[Quelltext bearbeiten]

Jeder ordnungsgemäß arbeitende Browser zieht eine klare Grenze um die betrachtete Seite; widergespiegelt durch den Seitenrahmen:

  • Skripte und Software innerhalb der Seite können keinen Einfluss auf den Browser und seine Konfiguration nehmen.
  • Seiten können keine lokalen Dateien des Benutzers (auf der Festplatte) schreiben; ausgenommen an den durch die regulären Browser-Funktionen und Erweiterungen vorgesehenen Orten.
  • Seiten aus dem Internet (http/https) sollten normalerweise keine lokalen Dateien des Benutzers über das Schema file:/ lesen können.
    • Hier lässt sich allgemein oder für bestimmte Domains eine Ausnahme zulassen.
  • Die URL-Adresszeile gibt immer die Domain des tatsächlichen Seiteninhalts an; allerdings ist es möglich, dass dort ein anderer Pfad angezeigt wird.
    • Der Inhalt der Adresszeile (window.location) kann nicht geändert werden, ohne dass vom Webserver die Seite neu abgerufen wird.
    • Ausgenommen könnte eine Veränderung im Fragment sein, also auf ein # folgend.
    • Möglicherweise werden Zeichen im URL-Encoding optisch hübscher dargestellt.
    • C&P liefert die vollständige URL, auch wenn sie ohne Protokoll (http/https) und mit anderen Zeichen sichtbar ist.
  • Skripte dürfen in gut gesicherten Browsern oft nur ausgeführt werden, wenn sie aus derselben Domain wie die umgebende Seite stammen (Same-Origin-Policy); siehe dazu Ressourceneinbindung.

Veränderungen in der Seitenprogrammierung (Skin-JS) können diesen Rahmen nicht durchbrechen. Allerdings können sie in bösartiger Weise im Namen des aktuellen Benutzers unerwünschte Aktivitäten ausführen (was insbesondere bei Administratoren fatal wäre). Unbemerkt Informationen (etwa die Zusammenstellung der Beobachtungsliste oder die E-Mail-Adresse) auszuschleusen ist mühsam aber möglich, etwa indem dies versteckt und verdeckt in Seiten-Edits untergebracht wird oder durch Kontakt mit externen Webseiten (wo Informationen in der URL transportiert werden können) über das Einbinden eines Zählpixels. Bei Nutzung von Benutzerskripten ist dies zu bedenken.

Es gibt bestimmte Möglichkeiten, mit denen sich Funktionen realisieren lassen, die nicht an die beschriebenen Einschränkungen gebunden sind:

  • Bookmarklets würden das Lesen mittels file:/ ermöglichen.
  • Add-ons geben teilweise vollen Zugriff auf den Rechner mit allen Möglichkeiten, die beim Betriebssytem angemeldete Benutzer sonst auch hätten.
MediaWiki weltweit Browser Rechner
 

Konsole, Werkzeuge des Browsers

JavaScript:

Betriebssystem

  • Beliebige Festplatten usw.
 

Server an http:// https://

HTML-Dokument unter http:// (Sandkasten)

Browser-spezifische Anwendungsdaten

PHP-Programm generiert:

HTML-Quelltext (Grundgerüst)

Angepasst durch:

Skin

Ressourcen (mitgeliefert):

JavaScript, CSS von MediaWiki

+ Projekt-JavaScript, CSS
+ Benutzer-JavaScript, CSS

Das Dokument in der Sandbox ist grün unterlegt.

  • Aus diesem Sandkasten heraus ist kein Zugriff auf die rot gekennzeichneten Bereiche darüber möglich.
  • Innerhalb des Dokuments kann JavaScript unterschiedlicher Herkunft eingebettet sein. Dies unterliegt den Beschränkungen des Sandkastens.

Die Konsole im rot umrahmten Bereich stellt die vom Benutzer installierbaren Browser-Skripte dar.

  • Diese Skripte haben die Möglichkeit, auf die Inhalte der (grün unterlegten) HTML-Seite zuzugreifen.
  • In der Regel können sie nicht auf den Bereich Betriebssystem mit Festplatten und beliebigen Eigenschaften des Rechners zuzugreifen.
  • Nur bestimmte Add-ons könnten automatisch das Dateisystem durchsuchen und unbemerkt auf beliebige Dateien zugreifen.
  • Werkzeuge (Add-ons) dürfen nicht so programmiert werden, dass sie einem Dokument im Sandkasten den unkontrollierten Zugriff auf den Rechner ermöglichen. Es dürfen auch keine unbeabsichtigten Sicherheitslücken entstehen.

Auf die Dateien auf dem Rechner kann aus dem HTML-Dokument und mittels der Browser-Funktionen nur über manuelle und zu bestätigende Einzelaktionen zugegriffen werden.

  • Das HTML-Dokument und ggf. auch darin eingebundene Ressourcen kann manuell auf der Festplatte an einem auszuwählenden Ort gespeichert werden.
  • Downloads müssen bestätigt werden.
  • Eine Datei auf dem Rechner kann manuell ausgewählt und dann hochgeladen werden.
  • Browser sollen so programmiert sein, dass nur solche manuell kontrollierten Operationen möglich sind.

Für die Dokument-Sandbox gibt es einen eigenen Speicherbereich bei den Anwendungsdaten des Browsers (grau umrahmt). Hier können für die Domain des Dokuments dauerhaft Daten geschrieben und von jedem anderen Dokument derselben Domain gelesen werden. Ein Zugriff auf das allgemeine Dateisystem ist nicht möglich.

  • Die Cookies dieser Domain werden bei jedem Kontakt mit dem Server vollständig übermittelt.
  • Die Daten im Web Storage verbleiben auf dem Rechner; sie können aber mittels JavaScript ausgelesen werden, insbesondere wenn man weiß, wie bestimmte Datenelemente heißen.
    • Über entsprechende Skripte hat auch der Wiki-Server Zugriff auf die im Web Storage abgelegten Inhalte und kann sie sich übermitteln lassen.

Cookies[Quelltext bearbeiten]

Cookies und „Super-Cookies“ durchlöchern das Sicherheitskonzept nicht stärker, als dies durch JavaScript ohnehin geschieht.

Als angemeldeter Benutzer ist ein Arbeiten und Bearbeiten mit blockierten Cookies praktisch nicht möglich.

Für nicht angemeldete Benutzer werden in Cookies von den letzten Aktivitäten auf anderen Wiki-Seiten vorgenommene Konfigurationen gespeichert, während angemeldete Benutzer dies in ihren Einstellungen festlegen bzw. es dort zentral für sämtliche benutzten Browser hinterlegt wird.

Cookies werden zum Arbeiten in der deutschsprachigen Wikipedia aus mehreren Domains benötigt:

  • de.wikipedia.org
  • wikipedia.org
  • login.wikimedia.org – Anmeldeinformationen
  • wikimedia.org

Ressourceneinbindung[Quelltext bearbeiten]

Einbindung von Skripten oder auch CSS aus anderen Wiki-Projekten kann durch Standard-Sicherheitsmechanismen zunächst blockiert werden; siehe Ressourceneinbindung.

Bookmarklets[Quelltext bearbeiten]

Bookmarklets ermöglichen auf einfache Weise, der Benutzeroberfläche im aktuellen Browser Funktionsaufrufe hinzuzufügen, die wie ein Lesezeichen generiert und verwaltet werden.

  • Bookmarklet – Anleitung und Sammlung einiger Beispiele für die deutschsprachige Wikipedia

Add-ons[Quelltext bearbeiten]

Add-ons sind spezifisch für bestimmte Browser oder Browserfamilien.

  • Add-on – Anleitung und Sammlung einiger Beispiele für die deutschsprachige Wikipedia

Greasemonkey[Quelltext bearbeiten]

  • Greasemonkey ist in der Regel selbst ein Add-on und unterliegt den gleichen Beschränkungen wie diese.
    • Es bietet lediglich eine Bibliothek, um komfortabel einzelne Skripte zu verwalten, sie nur unter bestimmten Bedingungen (für bestimmte Domains) auszuführen, und Hilfsfunktionen verfügbar zu machen.
  • Browser user script ist eine ähnliche Möglichkeit, die vom Browser selbst angeboten wird. Hier sind beliebige Sicherheitsmodelle vorstellbar.

In beiden Fällen handelt es sich um Skripte, die lokal auf der Festplatte des Benutzers liegen und selbst geschrieben werden.

Konfiguration und Erweiterungen[Quelltext bearbeiten]

Je nach individuellem Browser gibt es spezifische Möglichkeiten, sie an die Arbeit im Wiki anzupassen:

  1. Browser-Konfiguration, etwa durch Kürzel in der URL-Adresszeile, Auflistung der Wikipedia als mögliche Suchmaschine
  2. CSS-Anpassungen für den ganzen Browser oder bestimmte Webseiten
  3. Add-ons speziell für ein Wiki oder allgemein hilfreich – sie sollten nur von vertrauenswürdiger Herkunft installiert werden

Mit Verbesserung der Benutzeroberfläche innerhalb der Wiki-Projekte und der Skin ist die Notwendigkeit externer Software deutlich gesunken.

  • Unterstützung – Auswahl möglicherweise auch nicht mehr aktueller Hilfsmittel

Weitere Informationen[Quelltext bearbeiten]