Login-System mit Sessions bei Logout wie z.B. web.de
Sebastian
- php
Hi Leute,
ich programmiere ein Login-System, welches mit Sessions arbeitet.
Wenn man sich z.B. bei Web.de ausloggt und dann den zurückbutton drückt, kommt man direkt auf die seite mit der zugangsdateneingabe.
wie erreiche ich dies mit php?
evtl. mit javascript die history löschen / ändern?
Wenn man sich z.B. bei Web.de ausloggt und dann den zurückbutton drückt, kommt man direkt auf die seite mit der zugangsdateneingabe.
wie erreiche ich dies mit php?
JS ist zu unsicher. Ich meine, web.de arbeitet mit URL-Rewriting. Die Session-ID hängt also an der URL. Du blätterst zurück, die Session-ID ist, das System stellt fest, daß die Session nicht mehr offen ist, und forwardet auf die Login-Seite.
Leider funktioniert dies nur, wenn der Browser beim Zurückblättern die Seite neu lädt. Dies ist bei mir nicht der Fall (IE6).
Das ganze läuft so ab:
Nach Klick auf Logout beende ich die Session und forwarde auf die login-Seite. Bei Klick auf Zurück kann ich durch die ganzen internen Seiten wandern.Sobald ich dann aber einen Link dort anklicke, lädt er diese Seite neu und erkennt, daß er nicht mehr eingeloggt ist.
Und afaik kann man per js die history löschen, da web.de dies so ähnlich wohl tut.
ich habe mich bei web.de eingeloggt, drinnen ein paar seiten aufgerufen. dann sieht man beim runterklappen des zurück-knopfs im ie jede seite, die man besucht hat. dort steht also die normale web.de, und danach jede weitere interne. wenn ich mich auslogge ersetzt web.de diese internen seiten durch eine spezielle login-seite.
hi,
Leider funktioniert dies nur, wenn der Browser beim Zurückblättern die Seite neu lädt. Dies ist bei mir nicht der Fall (IE6).
zu diesem verhalten kannst du jeden client über die entsprechenden http-header beim ausliefern der seite _freundlich auffordern_.
gruss,
wahsaga
Hallo,
zu diesem verhalten kannst du jeden client über die entsprechenden http-header beim ausliefern der seite _freundlich auffordern_.
Was muss man denn reinschreiben in den Header?
Irgendwas zur Cache-Strategie oder was zum Frischhaltedatum?
Wäre Dur äußerst verbunden, wenn Du die zwei bis drei Zeilen hier mal preisgeben könntest.
LG
Tom
hi,
zu diesem verhalten kannst du jeden client über die entsprechenden http-header beim ausliefern der seite _freundlich auffordern_.
Was muss man denn reinschreiben in den Header?
Irgendwas zur Cache-Strategie oder was zum Frischhaltedatum?Wäre Dur äußerst verbunden, wenn Du die zwei bis drei Zeilen hier mal preisgeben könntest.
wie du die entsprechenden http-header mit php auslösen kannst, findest du im manual unter http://www.php.net/manual/de/function.header.php beschrieben (sechstes beispiel von oben).
daneben gibt es natürlich auch noch die möglichkeit, dass ganze in reinem html zu regeln, in dem du die meta-tag-äquivalente zu den "echten" http-headern verwendest, dazu findest du unter http://selfhtml.teamone.de/html/kopfdaten/meta.htm#laden weitere info.
gruss,
wahsaga
Hallo Sebastian,
Wenn man sich z.B. bei Web.de ausloggt und dann den zurückbutton drückt, kommt man direkt auf die seite mit der zugangsdateneingabe.
Welchen Browser verwendest du? Den IE? Der fordert Seiten afaik neu an, wenn du auf zurück gehst - und da bei einem neuladen die Session nicht mehr gültig ist, kommt eben die "Startseite" wenn du zurück gehst. Wenn ich (mit Opera) nach dem Ausloggen zurückgehe, sehe ich genau die Seite die ich zuvor verlassen habe.
wie erreiche ich dies mit php?
evtl. mit javascript die history löschen / ändern?
das ist ein Widerspruch in sich - erst fragst du wie du das mit php erreichen kannst, und dann willst du auf einmal mit js die history löschen (was nicht geht) :-)
Grüße aus Nürnberg
Tobias