Ankündigung

Einklappen
Keine Ankündigung bisher.

Session - Timeout

Einklappen

Neue Werbung 2019

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

  • Session - Timeout

    Hallo,

    wie kann ich nach z.b. 60 sekunden inaktivität, dass dann ein session timeout kommt^^



  • #2
    Hallo.

    Also ein session time out kenne ich nicht.
    Du kannst maximal eins machen das du nach einer abgelaufenen Zeit die session_id wieder löschst und somit der User diese nicht mehr besitzt!

    Wie sieht denn dein Code Ansatz aus?
    Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
    http://www.lit-web.de

    Kommentar


    • #3
      Was heißt, ein Session-Timeout gibt es nicht?
      Natürlich gibt es das. Nach einer gewissen Zeit entsorgt der GarbageCollector alle alten Sessions.
      Wann und mit welcher Genauigkeit er das tut, lässt sich zwar einstellen, doch ist es sehr konfigurationsabhängig, ob Einstellungen übernommen werden. Auf jeden Fall lässt sich kein genaues Timeout von z.B. 60 Sekunden bestimmen.
      Refining Linux: “Performing Push Backups – Part 1: rdiff-backup

      Kommentar


      • #4
        Ok wieder was dazu gelernt. Und in Verbund mit einem Coockie gänge das nicht?
        Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
        http://www.lit-web.de

        Kommentar


        • #5
          Natürlich. Das Cookie ist zwar weiterhin präsent, aber es gibt die Session nicht mehr. Also wird bei session_start() ein neues Session-Cookie angelegt, dass das alte überschreibt.
          Das ist ja auch der Grund, warum Sessions auch bei geöffnetem Browserfenster nicht ewig laufen.
          Refining Linux: “Performing Push Backups – Part 1: rdiff-backup

          Kommentar


          • #6
            ich weiß zwar jetzt das ich einfach schreibe nach dem login $_SESSION['timeout'] und dann i-wie dahinter time()+3600 oder sowas

            Kommentar


            • #7
              Das ist die andere Methode. Hier testet quasi jedes Script, ob der Zeitstempel aus der Session noch gültig ist. Wenn nicht, wird die Session explizit über php gelöscht, ansonsten der Zeitstempel neu gesetzt,die Ablauffrist quasi verlängert.
              Da dieses Verhalten seitens php erfolgt, braucht die Session (das Cookie und obige Einstellung des Garbage Collectors) selbst auch eine Art Verfallzeit, die wirksam wird, wenn die Seite nur noch passiv aufgerufen oder sogar das Browserfenster bereits geschlossen ist.
              --

              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


              --

              Kommentar


              • #8
                kann man das jetzt auch so machen, das wenn der user genau 60 sekunden NICHTS gemacht hat das dann seine session gelöscht wird und er auf die login seite geleitet wird?

                Kommentar


                • #9
                  So wie beim Online-Banking, oder so??

                  Daran wollte ich auch schon arbeiten; am besten machst du das mit JS:
                  1.JS zählt die Sekunden und bei onClick und Ähnlichen Counter neu aufsetzen
                  2. Bei Überschreitung Weiterleitung auf die Seite zum Ausloggen

                  Kommentar


                  • #10
                    wenn du mir sagts wie^^

                    aber nur da kommt das prob. auf, nicht jeder hat js auf an

                    Kommentar


                    • #11
                      Anders gehts halt nicht!
                      Entweder ist JS an oder bittest nett darum.

                      Kommentar


                      • #12
                        Das geht auch mit meta http-equiv="refresh"
                        HTML tag reference guide - <META http-equiv refresh>

                        Wenn das aber irgendeiner Weise kritisch ist (wichtiger als nur für statistische Zwecke zum Beispiel), dann musst Du das Timeout auch auf dem Server abtesten, also zum Beispiel per Timestamp in _SESSION.
                        PHP hat selbst einen Mechanismus zum Entfernen alter Sessions. Die Häufigkeit, mit der dies geschieht, wird über session.gc_probability und session.gc_divisor gesteuert. Solange der gc nicht ausgelöst wurde, können auch Sessions, die älter als session.gc_maxlifetime sind, von PHP reaktiviert werden.

                        Kommentar


                        • #13
                          meta http-equiv="refresh" ist leider auch nicht in allen Browsern aktiviert. Im neuen Firefox3 ist es z.b. (zumindest bei linux) standardmäßig auf aus.
                          sigpic

                          Kommentar


                          • #14
                            Und selbst wenn. Wie gesagt: es ist nur fancy. Kritische Dinge müssen auf dem Server laufen.

                            Kommentar

                            Lädt...
                            X