| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Aug 2010 Ort: Frankfurt a.M.
Beiträge: 5
| Session beenden beim Verlassen der Seite
Hallo, ich habe einen kleinen einfachen Loginbereich zum testen erstellt. Da arbeite ich z.Z. ausschließlich mit Sessions, zum lernen. Loginüberpfrüfung, Session starten, Werteübergabe, Werte weiterverarbeiten, Loggen usw... und schließlich das Leeren und Zerstören der Session funktioniert auf "normalem" Weg bestens. Wenn ich jedoch nicht über den Logout die Seite verlasse, sondern einfach das Browserfenster/tab schließe, und nun die Seite erneut aufrufe, wird die Seite erneut mit allen Daten aufgerufen, weil die Session (und deren Werte) noch vorhanden ist. Gibt es eine Möglichkeit, die Session beim Verlassen der Seite zu leeren/beenden? |
| | |
| | #3 (permalink) |
| Keine Panik Registriert seit: Apr 2010 Ort: Düsseldorf (im ernst)
Beiträge: 1.868
|
mal eine logische Frage dazu, woher weiss/erkennt der Server, wann der Benutzer die Seite verlassen hat? Und wie unterscheidet der Server, ob der Benutzer die Seite verlässt, oder ob er nur diesen Tab schliesst? imho gibt es keinen sicheren Weg das festzustellen. Aber das Session-Cookie wird automatisch beim schliessen des Browsers gelöscht => Benutzer öffnet den Browser erneut == neue Session. 2. schliesst der Server eine Session, nach einer vordefinierten Zeit, ohne neue Requests => auch hier wird eine neue Session geöffnet, wenn der Benutzer die Seite erneut aufruft. Wie lange der Server wartet, bevor er eine Session schliesst, kannst du einstellen. Das einzig sichere ist letztlich, wenn dein Benutzer die Session per logout schliesst. |
| | |
| | #4 (permalink) | |
| exestiert hier nicht Registriert seit: Jun 2002 Ort: Osnabrück
Beiträge: 1.728
| Zitat:
Wenn man zum ersten mal auf eine Seite kommt, werden Daten vom Clienten zum Server über den Port 80 geschickt. Auf dem Rückweg vom Server zum Clienten geht es z.B. über Port 1999. Öffnest du nun einen anderen Browser geht die Rückübertragung über den Port 1998. Also über einen anderen Port. Wenn nun ein Tab geschlossen wird, und der Server die Verbindung zum Browser über 1999 noch aufrecht erhält, wird die Session nicht gelöscht, da der Browser noch offen ist. Wenn nun der Browser komplett geschlossen wird fällt diese Verbindung weg. Es könnte sein dass beim nächsten Verbindungsaufbau zwischen Server und Clienten dies überprüft wird. Jeder Browser Session hat ja auch einen anderen Port für die Verbindung zwischen Server und Clienten. Auf dem Hinweg geht alles über Port 80 raus zum Server. Ich vermute, dass diese Techniken auch intern dafür genutzt werden um Sessions neu zu erstellen. Die eigentlichen Dateien der Session lassen sich auch nach dem schließen des Browsers im Temp-Verzeichnis auf dem Webserver finden. Sprich diese werden nur über die Zeit gelöscht. Ich hoffe das hilft dir weiter.
__________________ <? if(!$success){ $try++; } ?> ~Es ist so grausam, dass der Intelligenz Grenzen gesetzt sind und der Dummheit keine.~ Werbung: - Ajax File Manager ( KFM - Kae's File Manager ) Geändert von Funkey (09-09-2011 um 13:44 Uhr) | |
| | |
| | #5 (permalink) | |
| Keine Panik Registriert seit: Apr 2010 Ort: Düsseldorf (im ernst)
Beiträge: 1.868
|
@Funkey, diese Fragen waren eigentlich für jkd74, geacht in dem Sinne: denk mal darüber nach. ich denke das hier ist eher ein Logisches, als ein technisches Problem. Wenn er für sich (und uns) definieren kann wann ein User die Seite verlassen hat, können wir ihm helfen dass zu implementieren. und dass es ein paar "Stolpersteine" beim ausformulieren dieser Bedingungen geben kann wie bspw. das schliessen eines Tabs bedeutet nicht zwangsläufig, dass da nicht noch mehr Tabs mit der Seite offen sind. Das einzige wirklich technische "Problem" bei der ganzen sache ist, dass der Server nicht auf den Client gucken kann. (und das ist gut so) Das mit dem Port, würde ich höchstens in Verbindung mit der IP in betracht ziehen, als Sicherheitsmassnahme (bist du immer noch der der du bist?), aber auch dass kann Probleme bereiten, da die meisten Internet-Verbindungen dynamische IPs haben und sich diese (so unwahrscheinlich es auch sein mag) auch während der Benutzung ändern können (Zwangstrennung bei DSL bspw) Session Cookies werden eh beim schliessen des Browsers gelöscht, damit wird beim erneuten Öffnen eh eine neue Session angelegt (auch wenn die alte aufm Server noch nicht abgelaufen ist) Zitat:
ich schätze das läuft so:
| |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| swf-Aktion - beim Verlassen der Seite | sar2000 | Flash CS3 Professional | 2 | 31-08-2008 23:05 |
| Flash layer beim verlassen der Seite | Pistol Pete | Alternative Technologien | 3 | 22-08-2006 13:19 |
| Aktion beim Verlassen einer Seite | ckm | Flash MX | 0 | 09-09-2005 19:58 |
| Session unregister bei verlassen einer Seite | bleier116 | PHP und MySQL | 6 | 22-07-2004 10:48 |
| session soll bei verlassen der seite beendet werden | urkman | PHP und MySQL | 9 | 11-05-2004 10:50 |