Sven Rautenberg: PHP-Session sendet keine cookies

Beitrag lesen

Moin!

Ich konnte das problem grade einkreisen:
session_set_cookie_params(time() + 2592000, '/', 'fanwork.org', false);

Scheinbar funktionieren die cookies nicht mehr wenn ich die cookie_liftime auf einen anderen wert als 0 (time() + 2592000) setze. Wenn ich dies wieder auf 0 setze funktioniert alles. Ich würde nur gerne meine "Immer eingeloggt bleiben" funktionalität behalten.

Das regelst du aber bitte nicht per Session-Cookie (bzw. dauerhaftem Session-Cookie) - weil der Server irgendwann mal sämtliche gespeicherten Session-Daten aufräumt (und das ist auch sehr wichtig so), sind die über dich gespeicherten Session-Daten irgendwann weg. Dann mußt du dich sowieso neu einloggen.

Wenn du dich automatisch einloggen willst, dann setzte Username und Passwort in separate, dauernhafte Cookies.

Und wenn dein Login-Bereich schlau konzipiert ist, dann funktioniert das alles problemlos: Die angeforderte Seite des geschützten Bereichs prüft in deiner Session, ob du eingeloggt bist. Das bist du nicht, also wirst du zum Login-Skript weitergeleitet. Dieses Skript prüft, ob du Login-Cookies hast, prüft das Passwort und loggt dich ein, und leitet dich dann zur Seite zurück, die du zuerst angefordert hast. Alternativ gibst du deine Benutzerdaten über ein Formular ein und kommst dann ebenfalls dorthin.

Dich könnte stören, dass Benutzername und Passwort unverschlüsselt übertragen werden. Dann benutze SSL. Eine andere Möglichkeit gibt es da nicht.

- Sven Rautenberg

--
Die SelfHTML-Developer sagen Dankeschön für aktuell 21335,05 Euro Spendengelder!