Thomas Schmieder: Problem mit Sessions.

Beitrag lesen

Hi,

1. PHP fügt den Namen und die ID der Session automatisch in jede href und als hidden in jedes Formular ein, dass den Server verlässt, wenn ein Fallback (also keine Cookies) detektiert wurde.

2. Wenn Deine PHP-Version neuer 4.0.x ist, benutze nicht mehr die Funktionen session_register(), session_unregsiter(), session_decode(), session_encode() sondern schreib die zu ischernden Daten einfach in das Array $HTTP_SESSION_VARS[] bzw bei Versionen ab 4.2.x einfach in das superglobale Array $_SESSION. Diese Arrays werden nach erfolgreichem session_start() automatisch in der Session-Datei /tmp/sess_1234567890abcdef1234567890abcdef (Bsp.) gesichert.

3. Von dort werden sie auch wiederhergestellt nach dem nächsten session_start().

4. die Einstellung register_globals sollte auf off stehen in der php.ini

5. Du solltest nicht mit automatischen Sessions arbeiten, wenn der Client keine Cookies unterstützt, sondern auf "Auth401" ausweichen und die php-Funktionen register_shutdown_function(), serialize($_SESSION), unserialize($_SESSION) und eine eigene Funktion zum Wegschreiben und eine zum Wiederherstellen der Daten in einer selbst gebauten Sessiondatei erstellen.

Es gibt hier zwar Leute, die meinen, dass automatsiche Sessions auch ohne Cookies (also mit hidden-Fields und URi-Variablen) funktionieren würden...

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.