Sven Rautenberg: Browser-Cache für eine Seite deaktivieren

Beitrag lesen

Moin!

Ich habe eine Formularseite, die nur einmal gültig ist, da beim Abruf der Seite ein eindeutiger Schlüssel erzeugt wird. Lädt der Nutzer die Seite über die History bzw. Back-Button, dann ist der Schlüssel wieder der alte (und genau das sollte nicht vorkommen). Der Schlüssel muss Serverseitig generiert werden.

Dann hast du ein Problem mit der Programmierung. Wenn ein mittlerweile ungültig gewordener Schlüssel erneut vom Server akzeptiert wird, ist der Server falsch programmiert.

Du kannst von einer Sache ausgehen: Böse Angreifer und Scherzkekse werden sich von dem bischen Cache-Ausschalten nicht beeindrucken lassen, sondern die Formularseite einfach auf Festplatte speichern und so oft abschicken, wie sie wollen. Dabei kriegst du beliebig viele Schlüsselvariationen, bzw. identische Schlüssel mit beliebig vielen anderen Daten.

Der Server muß Buch führen über alle generierte Schlüssel, und diese nach Benutzung aus der Liste streichen bzw. entsprechend als benutzt kennzeichnen. Nur dann kann ein Formular nur einmal abgeschickt werden. Was beim zweiten Mal passiert, bleibt dir überlassen: Fehlermeldung? Neues Formular? Datenübernahme mit neuem Schlüssel?

- Sven Rautenberg