Verständnisfrage: Usermanagement logout und Sessionablauf

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

  • Verständnisfrage: Usermanagement logout und Sessionablauf

    Hallo,

    mit Hilfe des Tuts habe ich mir ein einfaches Usermanagement mit Login gebastelt. Beim Login wird ein Timestamp in die Tabelle geschrieben. Bei jeder Prüfung - User eingelogged - wird geprüft ob der Timestamp älter als 10 Minuten ist. Wenn ja -> autologout.

    Jetzt möchte ich das ganze umstellen. Bei jeder Aktion des User sollen die 10 Minuten neu beginnen, d.h. der Autologout soll erst erfolgen wenn 10 Minuten lang gar nichts passiert - kein Seitenaufruf, kein Refresh o.a.

    Nun läuft ja irgendwann die Session ab und da beginnt mein Problem: ist die Session abgelaufen sind alle Vars futsch ... wie kann ich das umgehen?

  • #2
    gehört die session ablauf funktion zu deinem UM -> dann halt anpassen an deine Wünsche

    wenn du die php interne Funktion meinst, da läuft die session erst dann ab wenn die session x eine bestimmte zeit y nicht benutzt/aufgerufen wurde.
    mfg
    marc75

    <Platz für anderes>

    Kommentar


    • #3
      Danke für die schnelle Antwort marc75. Aber da bleiben für mich noch Fragen offen ... was meinst du mit
      gehört die session ablauf funktion zu deinem UM -> dann halt anpassen an deine Wünsche
      Was bedeutet UM?!

      Ich arbeite mit session_start() & Co.; also den Session-Funktionen von PHP. Und jetzt zum Verständnis: in meiner php.ini ist session.cache_expire auf 180 eingestellt. Nach der Doku bedeutet dies die Session wird nach 180 Minuten entsorgt wird. Wenn ich jetzt alle 179 Minuten eine Seite aufrufe wird die Session praktisch endlos verlängert - habe ich das richtig verstanden ?

      Kommentar


      • #4
        Was bedeutet UM?!
        hast du nicht selbst gerade noch von einem UserManagement gesprochen

        Kommentar


        • #5
          @TobiaZ: ja, ich sprach von UserManagement - war mir halt nur nicht im klaren darüber, dass marc75 mit UM auch mein Usermanagement meint. Ich nutze z.Zt. nur session_start() und $_SESSION['VARNAME']=WERT - mehr nicht.

          Wenn ihr mir jetzt noch erklärt wie ich mein Problem angehen muss bin ich glücklich. Stimmt meine Annahme weiter oben das sich die Session von selbst verlängert ?

          Kommentar


          • #6
            irgendwo, ob in der db oder nur in der session, musst du mit jedem seitenabruf einen timestamp festhalten. damit läuft deine zeit immer wieder neu. denn du prüfst den wert aus der db oder eben der session auf die 10min ab.
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              @Abraxax: ja, das habe ich verstanden - kann ich auch umsetzen (hoffe ich jedenfalls). Im Augenblick habe ich halt das Problem, wenn der User morgens die Seite aufruft und sich anmeldet lässt er den Browser einfach im Hintergrund stehen. Wenn er dann sehr viel später wieder zum Browser wechselt und weitere Eingaben vornehmen möchte ist die Session abgelaufen.

              Eine Anfrage an die DB nach diesem Muster
              PHP-Code:
               pg_query("select userid from users where sessionid='".session_id()."'"); 
              schlägt natürlich fehl, weil die Session zwischenzeitig abgelaufen ist. Aus Sciherheitsgründen soll nach 10 Passivität eh ein Autologout stattfinden (das bekomme ich hin).

              Aber: angenommen der User klickt alle 8 Minuten auf Aktualisieren, lebt dann die Session länger als die eingestellten 180 Minuten in der php.ini oder muss ich da auch noch Hand anlegen ?

              Danke für Eure Geduld - ich hoffe, jetzt habe ich deutlich beschrieben wo mein Schuh drückt?!

              Kommentar


              • #8
                da der user aktiv ist ... sollte die session weiterleben. probier es aus.
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  das wollte ich hören
                  sollte die session weiterleben
                  das nicht ...
                  probier es aus
                  Danke an alle Helfer!

                  Kommentar


                  • #10
                    ob du die aussage nicht besser für dich behalten hättest...

                    Kommentar


                    • #11
                      vertan...
                      Zuletzt geändert von xJonx; 05.05.2006, 21:59.
                      Design & Coding with a breeze of madness at xjonx

                      Kommentar

                      Lädt...
                      X