Abfragen Session ID aktiv?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Abfragen Session ID aktiv?

    Hallo,

    ich habe eine Session-Verwaltung (Login-System). Hier wird die Session ID nach dem Logout in die DB geschrieben. Jetzt hab ich mich im Forum schlau gemacht bezügl. Ablaufen einer Session.

    Die Variante mit "Prüfen und Zeit aktualisieren" beim Aufruf jeder Seite möchte ich vermeiden, da dies sehr lastintensiv werden könnte bei mehreren tausend Usern die gleichzeitig online sind.

    Jetzt dachte ich mir das ganze via Cronjob zu lösen. Nur ein Problem habe ich noch, wo ich nicht weiß wie das zu lösen ist.

    Wenn sich der User ausloggt wird die Session ID aus der DB auf NULL gesetzt. Doch wenn er sich nicht ausloggt bleibt die drinnen stehen. Genau das will ich aber verhindern.

    Gibt es eine Möglichkeit den Webserver zu fragen ob die Session ID XYZ noch aktiv ist? Wenn nein, die dann per Cronjob aus der Tabelle zu löschen?

    Danke, Chris

  • #2
    Wenn dein Session-Management komplett über die Datenbank läuft, musst du die Datenbank fragen, nicht den Webserver.
    Ne Möglichkeit wäre natürlich die aktuellen Sessions zu cachen und z.B. alle 5mins erneut zu cachen.....
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      Danke, gibt es sonst noch Möglichkeiten die Abfrage zu lösen? Wie gesagt soll es eine Lösung sein die nicht sehr auf die Performance geht.

      EDIT:
      Es soll nach z.B. 30 Minuten Inaktivität der automatische Logout stattfinden

      Kommentar

      Lädt...
      X