Hallo Andreas,
Trotzdem würde ich Dir von der Methode abraten, da nicht zuverlässig. Wenn man blättert mit vor und zurück-Button auf Seiten vor der Anmeldung oder eine Direkteingabe in der Adresszeile macht oder... dann fehlt immer die Session-ID
Dann nimm lieber die "AUTH401"-Methode und schreib Dir deine Session-Save-Method selbst. Das geht ganz einfach.
Naja, so einfach wie die Session-Funktionen ist es wohl nicht. Außerdem braucht man sich hier um nichts zu kümmern, baut keine eigenen bugs ein, außerdem ist es nicht so einfach Arrays und Objekte zu speichern und »»
Mit den PHP-Funktionen serialize() und unserialize() ist das ganz einfach. Zum wiederherstellen der Sessiondaten am Anfang des Scriptes muss man nach erfolgter Authentifikation über die Credentials ($_SERVER["PHP_AUTH_USER"] und $_SERVER["PHP_AUTH_PW"] nur aus der für den User spezifizierten Sessiondatei die daten lesen und zum Speichern am Scriptende mit der Funktion register_shutdown_function() eine Speicherfunktion für $_SESSION anmelden. Das wars schon.
wiederherzustellen, außerdem ist es eher selten das jemand auf _einer_ Internetseite Eingaben in der Adresszeile tätigt, und auch ist es mir bisher noch nie passiert das ich mich irgendwo durch den "zurück-Button" aus Versehen
Das passiert schneller, als man möchte
ausgeloggt habe und was nicht zu vernachlässigen ist - das ganze funktioniert nur in der Modul-Version von PHP, also in den seltensten Fällen. Da kommt es schon erheblich öfter vor das der User Cockies aktiviert hat und somit die von Dir genannten Problem gar keine Relevanz besitzen.
Wenn die User Cookies aktiviert haben, ist das natürlich besser. Hab ich ja auch gesagt. Aber dann kommt erst die Auth401-Methode und erst dann die trans_sid-Methode. Diese These halte ich solange aufrecht, bis Du mir wirklich und leibhaftig das Gegenteil beweist.
Nicht das ich da was gegen die HTTP-Authentifizierung hätte - die benutze ich selbstr häufig udn gerne - nur hier ging es um Sessions und nicht um Authentifizierung, das sind IMHO 2 verschiedene Themenbereiche!
Das ist ja sowieso eines unser Dauerdisputthemen *gg*
Ich plädiere trotzdem immer für die datentechnisch "sicherste" Methode, das heißt diejenige, die zuverlässig ist und dennoch den Aufwand rechtfertigt.
Liebe Grüße aus http://www.braunschweig.de
Tom
Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.