ronny: session

hallo, versuche nun schon den ganzen abend mit session rum ;) habe im manual nachgeschaut und dazu das gefunden.

session_set_cookie_params(60);

mein ziel ist ein neues einloggen falls 20 minuten inaktiv. habe da oben nur die 60 sek. zum testen drin. leider funktioniert etwas nicht richtig. wenn ich da oben ne 1 reinmach, kann ich mich nicht einloggen., definitiv kann ich auch nach ablauf meiner zeit wieder auf die seite, für welche der loginkeks eigentlich nciht mehr gültig sein dürfte.

habe ich vielleicht die falschen anweisungen geschrieben?

ganz groß gesagt habe ich es so dastehn
..code..
$_SESSION["user_id"] = $data["id"];
  $_SESSION["user_nickname"] = $data["benutzername"];
  session_set_cookie_params(60);
...code...

danke

  1. Nachtrag:

    manchmal habe ich das gefühl ( durch hin und herschalten zwischen den seiten ) das es funktioniert,
    aber definitiv beim aufruf der zu schützenden seite, bin ich eingeloggt, auch nach ablauf der zeit

    1. Hallo!

      manchmal habe ich das gefühl ( durch hin und herschalten zwischen den seiten ) das es funktioniert,
      aber definitiv beim aufruf der zu schützenden seite, bin ich eingeloggt, auch nach ablauf der zeit

      Sicher funktioniert sowas nur indem Du den Timestamp des letzten Besuches in der Session speicherst und bei einem Request mit dem aktuellen Timestamp vergleichst. Ist die Differenz größer als 60*20 Sekunden musst Du die Session löschen und ein neues Login fordern.

      Sonst würde ich das nicht über den Cookie machen, denn der ist manipulierbar, will heißen das ich auch wenn der Cookie eigentlich gelöscht sein sollte ich trotzdem denselben Cookies schicken kann. Daher solltest Du die Session-Daten nach einer festgelegten Zeit löschen, das geht entweder mit http://de3.php.net/manual/de/function.session-cache-expire.php, oder indem Du den entsprechenden php.ini Parameter per ini_set() veränderst.

      Aber wie gesagt, ich würde die erste Methode empfehlen, da das die einzig wirklich zuverlässige ist.

      Grüße
      Andreas