Dynamische Website lokal ohne Webserver

Für ein eBook, welches als PDF und als html-Version erstellt werden sollte, hatte ich vor einiger Zeit die Idee, den Aufbau möglichst auch dynamisch vorzunehmen wie ich dies sonst mit PHP realisieren würde. Dies bedeutet, das bestimmte Dinge wie ein Header, Footer, etc. in eigene Dateien ausgelagert werden und dann beim Aufruf der Seite zusammengesetzt werden. Grundsätzlich funktioniert das auch.

Allerdings nur so lange man das ganze innerhalb eines Webservers ausführt. Problematisch wird es, wenn man die html-Datei einfach so öffnet. Aufgrund des sogenannten „Sandbox Security Models“ ist es aus gutem Grund verboten, dass lokale Ressourcen mittels JavaScript eingebunden werden können. Denn dadurch würde eine Sicherheitslücke entstehen, über die ich gar nicht nachgedacht habe. Wenn der Zugriff auf lokale Laufwerke und Dateien möglich wäre, so könnte ein zwielichtiger Webseitenbetreiber dies ausnutzen um lokale Dateien an den Server zu schicken und was ach immer damit zu machen.

Auch wenn die Seite unter einem solchen lokalen Pfad geöffnet wird, ändert das nichts:

Halb so wild, dann fiel die Lösung mit JavaScript doch flach, so dass ich mich entschied die Seite einfach wie gewohnt dynamisch in PHP aufzubauen und diese dann aus PHP heraus in einzelne html-Dateien schreiben zu lassen. Ich hatte dafür mal ein Tool gefunden, aber mich dann doch entschieden selber etwas dafür zu schreiben. Ich ließ dafür einfach eine foreach-Schleife durch alle Seiten, die in der MySQL-Datenbank abgelegt sind, durchlaufen und den Inhalt in einzelne Dateien ausgeben:

Allerdings muss man bei einem solchen Skript dafür sorgen, dass die Verlinkungen innerhalb der SEiten korrekt ausgegeben werden.

Quellen:
https://github.com/mrdoob/three.js/wiki/How-to-run-things-locally
http://stackoverflow.com/questions/10752055/cross-origin-requests-are-only-supported-for-http-error-when-loading-a-local

Schreibe einen Kommentar