Sven Rautenberg: zurück-gehen unterbinden

Beitrag lesen

Moin!

vielleicht kannst Du irgendwie mit location.replace arbeiten
(http://selfhtml.teamone.de/javascript/objekte/location.htm#replace),
das überschreibt nämlich einen History Eintrag

Das ist auch so ziemlich das einzigste, was funktionieren könnte.

Die History ist per Definition (in irgendeiner RFC, deren Nummer ich gerade nicht zur Hand habe) dafür gedacht, daß der User sich die vorher besuchten Seiten noch einmal ansehen kann, und zwar so, wie er sie vorher schon gesehen hat. Opera ist aber der einzige Browser, der diesen Standard auch umgesetzt hat. Alle anderen Browser nehmen wohl zumindest das Verfallsdatum zur Kenntnis und präsentieren dann (standardwidrig) "Die Daten sind nicht mehr gültig".

Was bleibt? Ordentliche Serverlogik! Wenn man in Betracht zieht, daß der User auch Unsinn schicken kann (Unsinn bezogen auf den aktuellen Zustand des Servers), dann muß man sowas eben abfangen.

Wenn, wie im Beispiel erwähnt, eine veraltete Dateiliste mit Löschbefehlen abgeschickt werden kann, dann sollte man vor dem Löschen vielleicht mal nachsehen, ob die Datei überhaupt gelöscht werden kann. Oder man baut in das Formular eine servergenerierte Zeitangabe ein (in einem Hidden-Feld), und verweigert generell bei zu altem Datum die Mitarbeit.

Man muß schließlich auch darauf vorbereitet sein, daß User in böser Absicht das Formular auf die eigene Festplatte packen und manipulieren! Nicht auszudenken, wenn man so ein paar Windows-Systemdateien löschen könnte, nur weil der Dateiname plötzlich nicht "harmlos.jpg" lautet, sondern "../../windows/system/wichtige.dll".

- Sven Rautenberg