Hinweise

Diese Seite demonstriert, wie Autoren mit Hilfe von Gears Workern JSON von einer Domain fremden Ursprungs beziehen können, ohne dabei die Integrität der eigenen Seite zu riskieren. Die Demo setzt eine Internetverbindung vorraus.

Funktionsweise und Nachteile von JSON-P

JSON-P ist die gängige Methode zur Realisierung von clientseitigen Mashups. JSON-P ist JSON, umschlossen von einem JavaScript-Funktionsaufruf.

Autoren betten JSON-P über das script Element ein. Der Browser bezieht JSON-P vom fremden Server und wertet es im Kontext der anfragenden Seite als JavaScript aus. Das Script ruft eine Funktion (Callback) auf und übergibt dieser die Daten im JSON-Format. Die Callback-Funktion bestimmt, wie die Daten auszuwerten sind.

Dieser sogenannte script Tag Hack umgeht die Same-Origin-Policy des Browsers, denn die Same-Origin-Policy gilt nicht für das script Element. Der Hack ist unsicher, weil das Script des fremden Servers uneingeschränkten Zugriff auf das DOM der anfragenden Seite hat. Angenommen, der Server wurde durch einen Hacker kompromittiert. Das Script fügt dem DOM der Seite ein Formular hinzu. Der Hacker nutzt so die Glaubwürdigkeit einer Seite aus um Daten zu erspähen.

Proxy Worker

Gears Worker führen im Hintergrund JavaScript aus. Worker laufen isoliert voneinander ab und haben keinen Zugriff auf die Daten des Hauptprogramms. Das hat zur Konsequenz, dass Scripte, die in einem Worker ablaufen, nicht das DOM manipulieren können. Worker kommunizieren untereinander und mit dem Hauptprogramm über Nachrichten.

Gears Worker schaffen damit die technischen Vorraussetzungen zur isolierten Ausführung von Scripten fremden Ursprungs.