bei session_start() immer selbe session_id()

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

  • bei session_start() immer selbe session_id()

    Hallo Leute,

    folgendes:

    Habe ne Login-Seite. Wenn ich mich da einlogge wird ne Session erstellt und der Name dieser Session in eine DB geschrieben. Nun kann der User sich weiter auf der Homepage tummeln und ich hole mir die Daten die ich brauch per session_id() aus der DB.

    das Problem:

    Wenn ich nun der User auf "neuer Login" geht wird die alte Session zerstört. Wenn der User sich dann erneut einloggt erhält er aber wieder die selbe session_id()! Und genau hier liegt das Problem. Ich hab gemeint die Namen der Sessions werden durch Zufall gewählt, aber hier wird immer wieder die selbe session_id() verwendet.

    Wie kann ich das verhindern?? D.h. wenn ich ne Session zerstöre möchte ich eine neue haben mit NEUER session_id()

    Vielen Dank schonmal !!!
    ****************************

    Meine Feuerwehr Website.

  • #2
    schau mal nach ob die session wirklich gelöscht wurde.

    PHP-Code:
      if (strtolower(session_module_name()) == "files") {
        echo 
    '<pre>';
        
    system('ls -l ' get_cfg_var('session.save_path'));
        echo 
    '</pre>';
      } 

    php-Entwicklung | ebiz-consult.de
    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
    die PHP Marktplatz-Software | ebiz-trader.de

    Kommentar


    • #3
      Wenn ich das ganz betrachte (läuft unter Windows) ändert sich zwar das Datum von "geändert am", aber "Erstellt am" bleibt immer gleich. Also irgendwie wird das ganz dann doch nicht gelöscht sondern aktualisiert.

      Hier mal der Quelltext schemenhaft

      login.php

      // Hiermit möchte ich beim Rücksprung die vorhandene Session löschen

      @session_start();
      @session_destroy();

      // Hier erstelle ich eine neue Session

      @session_start();

      nachlogin.php

      @session_start();

      und so gehts:

      zuerst bin ich bei login.php und log mich ein, da wird dann auch meine Session-Datei erstellt. Dann gehts weiter zu nachlogin.php von der Seite ich dann wieder zu lohin.php zurückspringen kann. Und wenn ich wieder zurückspringe möchte ich das meine alte Session gelöscht wird und wieder eine neue angelegt wird (aber auch mit neuer session_id() )
      ****************************

      Meine Feuerwehr Website.

      Kommentar


      • #4
        wenn du einen neues Browserfenster öffnest, dann solle eine neue SID erzeugt werden. MIt STRG-N wird der Session-Cookie übergeben und die alte ID wird neu aktiviert.

        Also Browser neu starten!!

        php-Entwicklung | ebiz-consult.de
        PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
        die PHP Marktplatz-Software | ebiz-trader.de

        Kommentar


        • #5
          Hi Berni,

          erstmal danke.

          Hm aber ich glaube das wird noch ne größere Aktion:

          Im Moment siehts so aus.

          Netscape Navigator: Da kann ich machen was ich willl, die SID bleibt immer gleich :-(

          Internet Explorer: Wenn ich ein neues Browserfenster öffne werden 2 (!!!! ???) Sessions mit der gleichen SID angelegt, die alten aber auch nicht gelöscht :-(

          Hmmm, hab jetzt folgende Idee:

          Ich erzeuge jetzt selber einen Zufallsname und verwende den als SID, müsste dann ja eigentlich funktionieren. Probiers jetzt mal aus, uff ich glaub das wird ne lange Nacht
          ****************************

          Meine Feuerwehr Website.

          Kommentar

          Lädt...
          X