TS: Session-Deletion: welche Zeit muss ich benutzen?

Hello,

in meinem Session-Deletion-Mechanismus habe ich


    if (flock($fp, LOCK_EX | LOCK_NB))
    {
        clearstatcache();
        $_stat = fstat($fp);
        if ($_stat['atime'] < ( time() - $sess_maxtime ))
        {
            unlink($path);    
            $delcount++;
        }
    }
    fclose($fp);

Die atime benutzt. Die scheint aber nicht zu passen?!

Die $sess_maxtime ist auf eine Stunde eingestellt. Die Session wurde nachgetriggert. Trotzdem hat der Prozess die Session bereits nach einer Stunde nach Erstellung gelöscht.

Liebe Grüße
Tom S.

--
Es gibt nichts Gutes, außer man tut es
Andersdenkende waren noch nie beliebt, aber meistens diejenigen, die die Freiheit vorangebracht haben.
  1. Hello,

    Sorry, falsches Forum. Aber warum? Ich hatte "Self-Forum" gewählt.

    Liebe Grüße
    Tom S.

    --
    Es gibt nichts Gutes, außer man tut es
    Andersdenkende waren noch nie beliebt, aber meistens diejenigen, die die Freiheit vorangebracht haben.
    1. @@TS

      Sorry, falsches Forum. Aber warum? Ich hatte "Self-Forum" gewählt.

      Threads verschieben dürfen nur Admins, nicht Moderatoren? Warum nicht?

      LLAP 🖖

      --
      “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
  2. Hello,

    Die atime benutzt. Die scheint aber nicht zu passen?!

    Die $sess_maxtime ist auf eine Stunde eingestellt. Die Session wurde nachgetriggert. Trotzdem hat der Prozess die Session bereits nach einer Stunde nach Erstellung gelöscht.

    Versuch macht klug, und dann kommt auch die Erinnerung so ganz dunkel wieder...

    atime ist wohl formal richtig, wird aber vom System nur geführt, wenn man speziell gemountet hat? War doch so, oder? Ich habe leider vergessen, wie das ging und ob es nicht die Performance des Filesystem ganz mächtig in die Knie zieht?

    Für PHP und session_start(); heißt das aber, dass man beim Aufruf einer Seite auch etwas in die Session schreiben muss, (z. B. den aktuellen Timestamp), damit mtime nachgeführt wid, die (mangels passendem Mounting) anstelle von atime geliefert wird.

    Das klärt nun für mich zumindest das Rätsel mit den verschwundenen Sessions bzw. den "Zwangsabmeldungen" bei den Leuten, die ein "billiges" Sessionhandling fürs Login benutzen.

    Kann ich den Kandidaten die Frage so beantworten, oder habe ich noch mehr zu beachten?

    Liebe Grüße
    Tom S.

    --
    Es gibt nichts Gutes, außer man tut es
    Andersdenkende waren noch nie beliebt, aber meistens diejenigen, die die Freiheit vorangebracht haben.