Anzeige

Status einer beliebigen Session ermitteln

Status einer beliebigen Session ermitteln | PSD-Tutorials.de

Erstellt von Crackp0t, 24.07.2012.

  1. Crackp0t

    Crackp0t Aktives Mitglied

    Dabei seit:
    09.11.2006
    Beiträge:
    306
    Geschlecht:
    männlich
    Software:
    Adobe Production Premium, GIMP, NP++, Aptana Studio, Eclipse
    Status einer beliebigen Session ermitteln
    PHP:
    1.  Status einer beliebigen Session ermitteln[/b]
    2.  
    3. Hi,
    4.  
    5. ich habe ein kleines Problem in in folgendem Szenario:
    6.  
    7. Eine Webapplikation benötigt einen Login. Diese Applikation kann jedoch aus technischen Gründen nur von einem Benutzer gleichzeitig bedient werden. Beim Login soll also herausgefunden werden, ob bereits ein Benutzer eingeloggt ist oder nicht.
    8.  
    9. Anmerkung: Ich habe keinen Zugriff auf eine Datenbank.
    10.  
    11.  
    12. Darum habe ich mir folgendes Konzept überlegt:
    13.  
    14. Beim erfolgreichen Login wird die erzeugte Session-ID in eine Lockfile geschrieben.
    15. Jedes mal, wenn eine geschützte Seite aufgerufen wird, soll folgender Algorithmus (Schildert nur das Kernproblem, ist nicht 100%ig wasserdicht) bestimmen, ob Zugang gewährt wird oder nicht:
    16.  
    17.  
    18. [URL="http://www.pic-upload.de/view-15264888/lockfile_c2.png.html"][IMG]http://www7.pic-upload.de/thumb/24.07.12/hw1k7ci6wxo8.png[/IMG][/URL]
    19.  
    20.  
    21. Das ganze soll in PHP relisiert werden.
    22.  
    23. Nun habe ich 2 Fragen dazu:
    24.  
    25. 1. Wie kann ich erkennen, ob eine Session mit einer bestimmten ID existiert?
    26.  
    27. 2. Wie kann ich auf die Variablen einer Session unter Verwendung der Session-ID zugreifen?
    28.  
    29.  
    30. Andere Meinungen oder Vereinfachungen sind natürlich auch willkommen.
    31.  
    32.  
    33. MFG
     
    Zuletzt bearbeitet: 24.07.2012
    #1      
  2. thofei

    thofei Nicht mehr ganz neu hier

    Dabei seit:
    09.09.2009
    Beiträge:
    54
    Geschlecht:
    männlich
    Ort:
    Kaufbeuren
    Kameratyp:
    Canon EOS 100D
    Status einer beliebigen Session ermitteln
    AW: Status einer beliebigen Session ermitteln

    Hi,

    so ganz verstehe ich nicht, was du erreichen willst. Üblicherweise hat man Userdaten doch irgendwo gespeichert (z.B. Datenbank oder in deinem Falle schlicht Textdateien in einem geschützten Bereich der Seite) und wenn sich jemand einloggt, werden diese Daten inklusive Zugangsrechte geladen. Diese Informationen speicherst du in den Sessionvariablen und wenn du auf eine geschützte Seite zugreifst, musst du nur noch in den Sessionvariablen nachsehen, ob der entsprechende User auch das Recht hat, auf die Seite zuzugreifen.

    Dass sich nur ein einziger einloggen kann, kannst du ja beim Login einfach überprüfen und aussschliessen, das schlichte Vorhandensein des von dir erwähnten Lockfiles reicht ja schon aus. Du musst halt nur sicherstellen, dass sich entweder der User konform ausloggt, um diese Lockdatei wieder zu löschen oder einen Automatismus einzubauen, der auf Aktivität überprüft und nach einer gewissen Zeit der Inaktivität automatisch ausloggt.


    Oder willst du etwas ganz anderes erreichen, was ich übersehen habe?

    T.
     
    #2      
  3. Crackp0t

    Crackp0t Aktives Mitglied

    Dabei seit:
    09.11.2006
    Beiträge:
    306
    Geschlecht:
    männlich
    Software:
    Adobe Production Premium, GIMP, NP++, Aptana Studio, Eclipse
    Status einer beliebigen Session ermitteln
    AW: Status einer beliebigen Session ermitteln

    Ich müsste in beiden Fällen die Lockdatei löschen. Ich bräuchte also eine art Callback Funktion welche beim Auslaufen der Session (Liege ich in der Annahme, dass dies nach einer Zeit automatisch passiert, richtig?) aufgerufen wird.

    Das ließe sich dann hiermit bewerkstelligen, oder?

    MFG
     
    #3      
  4. Duddle

    Duddle Posting-Frequenz: 14µHz

    Dabei seit:
    03.02.2006
    Beiträge:
    3.864
    Geschlecht:
    männlich
    Ort:
    Dresden
    Status einer beliebigen Session ermitteln
    AW: Status einer beliebigen Session ermitteln

    Schreib die Uhrzeit der letzten Aktivität in die Datei.
    Überprüfe bei jeder Handlung des Nutzers, ob zu viel Zeit zwischen jetzt und der Zeit in der Datei vergangen ist. Falls ja gilt er als ausgeloggt und muss sich wieder einloggen. Falls nein schreibst du jetzt in die Datei.


    Duddle
     
    #4      
  5. Crackp0t

    Crackp0t Aktives Mitglied

    Dabei seit:
    09.11.2006
    Beiträge:
    306
    Geschlecht:
    männlich
    Software:
    Adobe Production Premium, GIMP, NP++, Aptana Studio, Eclipse
    Status einer beliebigen Session ermitteln
    AW: Status einer beliebigen Session ermitteln

    Sry für die späte Antwort.
    Danke Duddle für den Input, genau so habe ich es umgesetzt :)

    MFG
     
    #5      
x
×
×