Hanjo: $PHPSESSID ??

Moin auch,

was genau gibt die Variable $PHPSESSID an ?
Nur die eigene Session_id ?

Bzw. Wie habe ich Zugriff auf alle z.Zt. auf dem Server registierten (also von verschiedenen Usern stammenden) session_id's ??

TIA

Hanjo

  1. Sie gibt immer nur die SESSIONID des Besuchers an.
    Die Variable muss aber net $SESSIONID heißen. ;-)

    Gruss
    Stefan

    1. Hello,

      sämtliche noch registrierte Sessions findest Du üblicherweise im Directory

      session.save_path (siehe php.ini)

      Dort legt PHP die Sessiondateien unter dem Namen "sess_*****" ab Die ***** stehen für die Session-ID. Unter welchem Variablennamen (Cookienamen) die Session-ID dem Client mitgeteilt wird, wird in

      session.name      (siehe php.ini)

      eingestellt und kann mit der Funktion session_name() scripttemporär VOR dem Aufruf von session_start() beeinflusst werden.

      Wenn Du wissen willst, wie alt eine Session ist, solltest Du dich mit den Listfunktionen des OS auseinandersetzen. Linux bietet dafür die drei Zeiten

      ctime
      mtime
      atime

      im ls-Befehl als Option.

      Mit PHP kann man diese Zeiten mittels

      filectime()
      filemtime()
      fileatime()
      http://de2.php.net/manual/de/function.filectime.php

      abfragen.

      Ob der User aber gerade aktiv ist, lässt sich mit PHP-Mitteln nicht so einfach feststellen, da ein Request und die Antwort darauf mesitens innerhalb weniger Millisekunden abgewickelt ist.

      Liebe Grüße aus http://www.braunschweig.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      1. Hello,

        sämtliche noch registrierte Sessions findest Du üblicherweise im Directory

        session.save_path (siehe php.ini)

        Dort legt PHP die Sessiondateien unter dem Namen "sess_*****" ab Die ***** stehen für die Session-ID.

        Moin auch,

        das ist sehr hilfreich und funktioniert.
        D.h. ich bekomme so zu den einzelnen session_id s aus der Tabelle die filetime.

        Via time()-fileatime() bekomme ich ein recht kleines Zeitfenster, wenn der User online ist.

        Also time() - fileatime($sessfile) < 60 könnte dann schon als Kriterium gelten.

        Oder täusch ich mioch da ?

        Ich teste das gerade aus, indem ich mit zwei verschiedenen Browsers unter der gleicher user_id die entsprechende Seite connectiert habe,
        und bekomme jedesmal eine Differenz von max 10, wenn ich ein script ausführe, was das abfragt....

        Gruß von der Ostsee

        Hanjo

        1. Hello,

          das funktioniert aber wahrscheinlich nur auf UNIX/LINUX-Systemen, nicht
          aber auf Windows. Da fehlen mWn die Datenfelder für LastAccess und
          LastModification.

          Liebe Grüße aus http://www.braunschweig.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          1. Hello,

            das funktioniert aber wahrscheinlich nur auf UNIX/LINUX-Systemen, nicht
            aber auf Windows. Da fehlen mWn die Datenfelder für LastAccess und
            LastModification.

            Nun ja,
            der Server, auf dem die fraglichen WebSites liegen, ist natürlich unter Linux (auch wenn ich hier unter windows arbeite ;-))

            Gruß von der Ostsee

            Hanjo