Moin!
Eins hab ich aber nicht verstanden:
Wenn jemand eine Sessin-ID hat von einer Session, die eigendlich bereits beendet war, bei der aber das Array nicht auf leer gesetzt wurde, kann der "neue" Besitzer des SessionID dann nicht einfach so weiterarbeiten. als wäre die Sitzung nie beendet worden?
Richtig. Das ist genau das Problem. Das ist aber genauso ein Problem, wenn jemand Username und Passwort kennt. Dann kann er genauso "einfach weiterarbeiten".
Session-IDs haben den Vorteil, dass sie zwar wie ein "Ersatzschlüssel" wirken, also anstatt Username und Passwort den Zugang gewähren, aber immer nur relativ kurzfristig gültig sind. Man kann sie zwar grundsätzlich relativ leicht selbst bilden, aber eine gültige Session zu raten, ist sehr schwer. Dagegen eine Username/Passwort-Kombination zu raten ist bei weitem nicht so schwer. Denn das hat sich wahrscheinlich ein Mensch ausgedacht, und Menschen sind faul und einfallslos, so dass nicht alle Möglichkeiten statistisch gleichverteilt sind, sondern gewisse Passwörter wahrscheinlicher sind. Außerdem sind solche Daten weitaus länger gültig, als eine Session-ID.
Es geht hier immer um die Gewinnung zusätzlicher Sicherheit. Wenn eine Session eine gewisse Zeit lang nicht benutzt wird, dann gibt es irgendwo einen Computer, der die Session-ID legal gekriegt hat. Warum meldet der sich nicht mehr? Vielleicht ist sein User in der Mittagspause. Vielleicht kommt jemand Fremdes herein und benutzt den Rechner unerlaubt.
Wenn du nach einem Logout und nach einem Timeout das Session-Array leerst, kann in dieser Hinsicht nichts passieren, denn die Session beginnt, egal ob vorher verwendet oder nicht, wie neu.
Gute Idee. Mal ne Frage: Kann ich diese ganzen Routinearbeiten zu Beginn jedes Scriptes nicht einfach auslagern unn dann zu Begin jedesn Scriptes irgendwie includen?
Ja klar, sowas geht.
- Sven Rautenberg
"Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
(fastix®, 13. Oktober 2003, 02:26 Uhr -> </archiv/2003/10/60137/#m338340>)