Mailinglisten-Archive |
Hi Michael, Am Donnerstag, 4. Mai 2006 11:16 schrieb Michael Borchers: > mein login skript (via HTTP AUTH mit $_SERVER["PHP_AUTH_USER"] etc.) > registriert eine session namens users_id > > beim logout wird die sessionId, die in einer db gespeichert wird, aus > der db gelöscht. > > ausserdem gibt es ein unset auf alle sessionvariablen, dann noch > session_unset UND session_destroy. > > bleibt das browserfenster nun offen und ich begebe mich wieder auf > den geschützten bereich, erfolgt die loginabfrage > if(session_is_registered(users_id)) ... LOGIN OK > > und leider bleibt der login bestehen, da die session immer noch zu > existieren scheint. > > natürlich ändert sich das, wenn ich das browserfenster nach dem > logout schliesse. > > wurde nun die session doch nicht richtig zerstört oder ist das > typisch browserfenster?! > > ps: > kein SSL, htaccess login maske merkt sich nicht die daten ok, Du hast hier zwei getrennte Dinge: 1. Die Anmeldung über HTTP_AUTH 2. Die Session Ich betone noch mal: Es sind zwei *getrennte* Dinge. Wenn Du Dich einmal mit HTTP_AUTH beim Server angemeldet hast, sendet der Browser diese Daten solange mit, wie Du das Browserfenster nicht schließt. Erst wenn Du das Fenster geschlossen hast, verliert der Browser die Logindaten. Soweit hat das Ganze noch nichts mit der Session zu tun. Du gehst nun hin und startest auf Basis des am Server angemeldeten Nutzers eine Session. Wenn Du nun die Session beendest, ist zwar die Session weg, eine Auswirkung auf die Benutzeranmeldung hat dieses jedoch natürlich nicht, den das wird direkt zwischen Browser und Server geregelt. Daher passiert dann folgendes, wenn Du die Session beendet hast, das Browserfenster aber aufgeblieben ist: Es wird eine *neue* Session geöffnet. Prüfe das mal in Deiner Datenbank, aber so muß es sein. Wenn Du möchtest, daß nicht nur die Session beendet, sondern auch der Benutzer abgemeldet wird, dann mußt Du die Anmeldung entweder direkt in die Session integrieren oder Dich z.B. darauf verlassen, daß der Anwender Javascript zuläßt und versuchen, beim Beenden der Session mit Javascript auch das Fenster zu schließen. Viele Grüße Lutz
php::bar PHP Wiki - Listenarchive