User Session Management

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

  • User Session Management

    Hi Leutz !

    Ich hab folgendes :
    Es geht NICHT um irgendein einfaches Login Script, um das mal vorweg zu nehmen .

    [COLOR=red]Stark gekürzte Fassung des Scripts- ist in wirklichkeit nich viel umfangreicher[/COLOR]

    Ich bin dabei, ein Session Management System zu proggen.
    Und zwar soll der User, wenn er auf die Seite kommt, gleich registriert werden, und zwar als "Gast".

    Dies mache ich mit einer Session-Table.
    Dort wird dann praktisch eingefügt :

    User | Sess_ID | Sess_start | Sess_time | Site_id | ...
    --------------------------------------------------------------------
    Gast | 21kjoew| .UNIX_TS 1 | UNIX_TS 2 | 1 |

    So dann ist der als Gast registriert , somit kann ich jede aktion des User zurückverfolgen, da die Session Table jedesmal aktualisiert wird wenn der User eine weitere Seite aufruft .
    Diese Tabelle durchläuft bei jedem Aufruf eine Reinigungsschleife, die alle Datensätze löscht, bei denen Sess_time älter ist als 300 Sekunden.
    Also theorethische Session Time sind minimal 5 min.

    Da besteht jedoch folgendes Problem - Wenn der User ein weiteres Browserfenster öffnet , dann entsteht natürlich ein "neuer" Gast.

    Nun dachte ich mir setzt du mal beim Seitenaufruf einen Cookie, um den User über die Browserfenster hinaus verfolgen zu können.
    Problem hierbei ist - nicht jeder akzeptiert cookies.

    Nächste Überlegung - IP.Adresse - Wenn sich der User aber zwischendurch mal abwählt, hab ich das gleiche Problem.

    Session Register bring auch nix. S.O.

    Wie genau kann ich verhindern, das immer ein neuer Gast entsteht, wenn der User ein neues Browserfenster öffnet . Gibt es da eine Sichere lösung zur wiedererkennung ?

    mfg
    paddy

  • #2
    neues browserfenster über Datei -> Neu erzeugt keine neue session-id

    neue Instanz des browser starten erzeugt ne neue session-id

    da kann man nich viel diskutieren, da IP und so weiter zum tracken ausscheiden
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      kannst du mir ne methode empfehlen, die am "sichersten" ist.

      denke mal über einen cookie mit einer unique id.
      diese unique id dann in der db unter dem Gast-Eintrag gespeichert und dann den Cookie immer auslesen.

      So könnte man das theoretisch machen , unabhängig von der session id.

      Und ich denke mal , die meisten leute akzeptieren ja cookies.

      Oder würdest du irgendwas am ablauf des Scripts ändern ?

      Kommentar


      • #4
        Mich würde mal interessieren wie ihr sowas proggen würdet.

        Das man z.B. anzeigen kann : 3 Member online || 24 Gäste online
        ^^ siehe oben.

        Kommentar


        • #5
          ne tabelle mit session-ids und dem zeitpunkt der letzten aktivität
          damit hast du alle user

          ne tabelle mit den usern und ner spalte für die session-id
          überall da, wo in der spalte session_id was drinsteht, is der jeweilige member eingeloggt

          $gaeste=$gesamtzahl_sessionids-$member
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            Ja - so oder so ähnlich mache ich das ja auch , aber das Prob von ^^ ist damit ja nicht gelöst - oder ? Vielleicht ne idee ?

            Kommentar


            • #7
              dieses problem scheint allgemein zu sein :
              hab ich gerade in einem anderen theat gelesen :

              Hi @ all,

              ich habe folgendes Problem, ich habe ein login script, und wenn sich user einloggen, dann wird ihre session_id in der db gespeichert.
              Ich wollte damit eigentlich eine art buddyliste machen, denn wenn sich der user einloggt, dann wird die session halt gespeichert und wenn er sich ausloggt wird sie wieder entfernt.
              Jedoch habe ich folgendes Problem, dass wenn ein user das Fensterschließt, dass dass script beendet wird und der wert ín der db nich gelöscht werden kann. somit ist er immer noch ON obwohl er das fenster geschlossen hat.

              hat vielleicht jemand ne bessere idee so eine buddyliste zu machen ?
              Also das user andere user in ihre buddyliste hinzufügen können und denn status sehen können.

              vielen dank im vorraus
              Also im grunde das gleiche bloß anders

              Kommentar


              • #8
                aber das lässt sich lösen, indem man sagt: alle user, die seit mehr als 15 minuten nichts mehr getan haben sind offline (natürlich in SQL und nicht in deutsch)
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  Ja - ist ja auch indirekt in meinem Script eingebaut .

                  Die sessiontable wird bei JEDEM aufruf einer seite bereinigt .
                  ALLE daten mit einer TSTAMP die älter als 300 sek. (5 min) ist wird gelöscht.

                  Oder meinst du, man sollte die DELETE anweisung auf 24 Stunden hochsetzten , aber über mysql die session_daten trotz nicht gelöscht als inaktiv markieren , wenn sie älter als - sagen wir mal 5 min- sind

                  Somit wären die Sessiondaten aber 24 Stunden verfügbar und könnten eventuell nochmals nach ablauf der Reloadsperre aufgegriffen werden.

                  ?? ODER ??

                  Kommentar

                  Lädt...
                  X