/PHP: Session nach Logout - Reload verhindern?
Hans
- programmiertechnik
0 Sven Rautenberg0 Julian von Mendel
Moin,
hab hier ein Loginscript, was an sich auch funktioniert, ebenso das Ausloggen. Wenn jedoch der Kunde nach dem Ausloggen in der History auf die Loginseite geht, kann er sich via Reload durch erneute Übermittlung der Logindaten einfach erneut Einloggen. Ist zwar ur son Schönheitsfehler, doch wie kann ma den Umgehen?
danke!
Hans
Moin!
Wenn jedoch der Kunde nach dem Ausloggen in der History auf die Loginseite geht, kann er sich via Reload durch erneute Übermittlung der Logindaten einfach erneut Einloggen. Ist zwar ur son Schönheitsfehler, doch wie kann ma den Umgehen?
Das würde ich nicht unbedingt als Schönheitsfehler einschätzen. Die Frage ist, woher beim Reload die Daten kommen, die den Login erneut aktivieren? Bei GET-Formularen stehen sie in der URL, und bei POST-Formularen fragt der Browser gewöhnlich nach, ob er das Formular nochmal schicken soll.
Wie sieht das bei dir aus?
- Sven Rautenberg
Hallo,
genau die Sache mit den POST-Daten passiert, aber das "eigentliche" Ausloggen funktioniert natürlich.
MfG Hans
Hi,
das heißt also, du möchtest verhindern, dass wenn ein Benutzer auf Rückfrage hin seine Logindaten erneut abschickt, er dann wieder eingeloggt wird? Warum willst du das verhindern, wenn er das doch offenbar bewusst auslöst?
MfG
Rouven
Hallo,
weil es doch "theoretisch" sein könnte, dass , z.B. im Internetcafe ein User den Rechner verlässt, ein anderer auf "zurück" klickt und sich dann einloggt.
Kann man das umgehen?
Danke!
Mfg Hans
Hi,
weil es doch "theoretisch" sein könnte, dass , z.B. im Internetcafe ein User den Rechner verlässt, ein anderer auf "zurück" klickt und sich dann einloggt.
Kann man das umgehen?
in der Regel schließt man dann das Browser-Fenster. Weiterhin darf ein erneutes Abschicken eigentlich nicht funktionieren, da der Browser sich den Inhalt der Passwort-Felder nicht merken dürfte (im Gegensatz zu normalen text-Feldern).
Schöne Grüße
Julian
Hi,
hab hier ein Loginscript, was an sich auch funktioniert, ebenso das Ausloggen. Wenn jedoch der Kunde nach dem Ausloggen in der History auf die Loginseite geht, kann er sich via Reload durch erneute Übermittlung der Logindaten einfach erneut Einloggen. Ist zwar ur son Schönheitsfehler, doch wie kann ma den Umgehen?
eine Möglichkeit wäre, bei Anforderung des Formulars eine ID zu generieren, die in ein Hidden-Textfeld geschrieben wird, und serverseitig gespeichert wird. Dann wird diese beim Abschicken des Formulars mit übertragen. Du prüfst ob die ID in der Liste der von dir generierten IDs steht und löschst sie dann aus der Liste, damit sie nicht erneut gültig ist.
Schöne Grüße
Julian
jo, schon klar, doch irgendwie auch son bisschen aufwändig :-)
die Passwortdaten werden übrigens auch beim erneuten Abschicken mitübertragen...
Hi,
jo, schon klar, doch irgendwie auch son bisschen aufwändig :-)
ach, so extrem ist das nicht. Zufallszeichenkette generieren (4 Zeilen), in Datei oder DB schreiben (5 Zeilen), im HTML-Code ausgeben (1 Zeile), Prüfen ob ID korrekt (3 Zeilen), ID entfernen (5 Zeilen). => 18 Zeilen
Wenn du ein konkretes Problem mit einem der Punkte hast, kann man dir sicher leicht helfen.
die Passwortdaten werden übrigens auch beim erneuten Abschicken mitübertragen...
mit welchem Browser?
Schöne Grüße
Julian