Repost from Data verhindern
Michael
- html
Hallo, ich entwickle eine name/passwort geschützte Site, auf der weder Cookies noch Javascript
genutzt werden dürfen. Die Navigation innerhalb der Seiten wird über Sessionhandling geschützt.
Ausloggen wird über die Invalidierung der Session realisiert. Mein Problem ist nun, dass Netscape
einem User bei Benutzung des Backbuttons einen "Repost from Data" anbietet und die Daten der
Anmeldeseite (diese werden per Post übermittelt) erneut sendet. Die voherige Session ist zwar
beendet, jedoch wird durch die "Neuanmeldung" eine neue mit den Anmeldedaten des letzten
Users erzeugt. Gibt es eine Möglichkeit das Cachen von solchen Informationen im Browser zu
verhindern oder fällt jemandem eine andere Lösung ein? (Vielleicht Meta-Tags? expires ... und
setnocache funktionieren nicht) Grüße, Michael
Hallo, ich entwickle eine name/passwort geschützte Site, auf der weder Cookies noch Javascript
genutzt werden dürfen. Die Navigation innerhalb der Seiten wird über Sessionhandling geschützt.
Ausloggen wird über die Invalidierung der Session realisiert. Mein Problem ist nun, dass Netscape
einem User bei Benutzung des Backbuttons einen "Repost from Data" anbietet und die Daten der
Anmeldeseite (diese werden per Post übermittelt) erneut sendet. Die voherige Session ist zwar
beendet, jedoch wird durch die "Neuanmeldung" eine neue mit den Anmeldedaten des letzten
Users erzeugt. Gibt es eine Möglichkeit das Cachen von solchen Informationen im Browser zu
verhindern oder fällt jemandem eine andere Lösung ein? (Vielleicht Meta-Tags? expires ... und
setnocache funktionieren nicht) Grüße, Michael
Hi Michael,
Grübel, heisst es nicht Repost _Form_ Data? ...naja, egal.
Die Seite, die die Anmeldseite aufruft erzeugt im Anmeldeformular (als hidden input) einen
'Aktionshandle' (z.b.Zufallszahl). Den merkt sich der Server und entwertet ihn nach einmaligem Gebrauch.
Ein Repost ist dann am bereits entwerteten Aktionshandle erkenntlich.
Weder einfach noch elegant, aber was besseres fällt mir nicht ein
Gruss,
Carsten
Folgende Lösung habe ich nun implementiert. Bei der Anmeldung wird in einem Hiddenfield des Anmeldeformulars
die Sessionid einer temporären Session hinterlegt. Nach der erfolgreichen Anmeldung wird diese temporäre Session invalidiert, so dass beim erneuten Senden des Formulars die Session als ungültig erkannt und abgelehnt wird. Im Prinzip also die Lösung von Carsten. Danke