immer gleiche session_id

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

  • immer gleiche session_id

    Ich habe versucht einen Benutzerlogin nach dem Tutorial von hier zu erstellen. Wenn ich einen Benutzer ein und wieder auslogge und dann einen anderen Benutzer einlogge, wird jedesmal die gleiche Session_ID erstellt. Ist das normal oder wo könnte der Fehler liegen?

  • #2
    Wie sieht denn dein Code aus?
    Welche session-Einstellungen stehen in deiner php.ini?

    Kommentar


    • #3
      Der Code ist der gleiche wie von hier: http://www.php-resource.de/tutorials/read/38/1/
      Dazu habe ich bei dem Logout noch session_destroy(); hinzugefügt.


      Php.ini:
      Code:
      [Session]
      
      session.save_handler = files
      session.use_cookies = 1
      session.name = PHPSESSID
      session.auto_start = 0
      session.cookie_lifetime = 0
      session.cookie_path = /
      session.cookie_domain =
      session.serialize_handler = php
      session.gc_probability = 1
      session.gc_divisor     = 100
      session.gc_maxlifetime = 1440
      session.bug_compat_42 = 1
      session.bug_compat_warn = 1
      session.referer_check =
      session.entropy_length = 0
      session.entropy_file =
      session.cache_limiter = nocache
      session.cache_expire = 180
      session.use_trans_sid = 0
      session.hash_function = 0
      session.hash_bits_per_character = 4
      Ich habe das auf meinem lokalen WinXP System getestet mit Php5, MySQL5 und Xitami Webserver. Wenn ich einen anderen Browser benutze wird erstmal eine neue Session erstellt. Aber wenn ich das gleiche dann wieder mache login/logout und dann neuer user login wird immer die gleiche Session_ID vergeben.
      Session_destroy() bewirkt nicht das das Session Cookies gelöscht wird. Man kann das bei Firefox sehr schön sehen, wenn man sich die Cookies anzeigen lässt. Das Session Cookie ist weiterhin vorhanden. Nur wenn ich es manuell über Firefox lösche wird eine neue Session ID erstellt.

      Kommentar


      • #4
        http://php.net/session_destroy
        Um die Session komplett zu löschen, z.B. um einen Benutzer auszuloggen, muss auch die Session-ID gelöscht werden. Wenn zum Verfolgen der Session ein Cookie benutzt wird (standardmäßige Einstellung), muss das Session-Cookie gelöscht werden. Dafür kann setcookie() verwendet werden.

        Kommentar


        • #5
          gut, danke.

          andere Frage:
          session.cookie_lifetime spezifiziert die Cookie-Lebensdauer, die an den Browser geschickt wird, in Sekunden. Der Wert 0 bedeutet "bis der Browser geschlossen wird."
          In der php.ini ist der Wert auf 0 gesetzt, aber das Session Cookie bleibt erhalten, wenn ich den Browser schließe, sowohl mit Firefox als auch bei IE.

          Kommentar


          • #6
            habe es nun doch selbstrausgefunden. es funktioniert nur wenn alle fenster des browsers geschlossen werden.

            Kommentar


            • #7
              wie gesagt, wenn der browser geschlossen wird. du hast ja nur einzelne instanzen geschlossen.

              Kommentar

              Lädt...
              X