Session ID Killen

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

  • #16
    Aber der Code hier müsste doch theoretisch alles löschen, auch die session selbst, oder?
    PHP-Code:
    if(isset($_POST['logout']))
    {
        
    $_SESSION = array();
        if (isset(
    $_COOKIE[session_name()])) {
               
    setcookie(session_name(), ''time()-42000'/');
        }

        
    // Zum Schluß, löschen der Session.
        
    session_destroy();

    Allerdings geht auch das online nicht!
    it's not a bug,
    it's a feature!

    Kommentar


    • #17
      FRAMESETS und SESSION ID

      Guten Morgen

      danke ersteinmal für die zahlreichen Antworten.
      Sitze aber gerade immer noch vor dem Code und weiß nicht weiter.
      Da ich mit framesets arbeite(n muss), kann es da vielleicht sein,daß die session_id in einen Frame nicht die session_id in dem anderen sein kann.
      Mann oh man ich dreh bald durch.
      Habe nämlich ein oberes und ein unteres hauptframe. Das unter frame ist dabei wiederum in 3 frames geteilt.
      Zur Zeit ist es dem so,das ich nach erfolgreich erfolgtem login ein unteres frameset include,welches eine naviseite,eine benutzerdatenseite und ein 3. Fenster öffnet. Das funktioniert ja auch prima ich kann Account Daten ändern,speichern und löschen.
      Bloß eben nach einem logout
      PHP-Code:
      session_start();    // ist ja eigentlich  blödsinn da er hier ne neue session
       //erzeugt, aber ja eigentlich die alte schließen soll,die beim login erzeugt
       //worden ist
      session_unset();
      session_destroy(); 
      und anschließendem drücken des zurück buttons bin ich wieder eingeloggt.
      Wie kann man denn beim logout die session schließen ,die gerade offen ist,bzw wie kann man denn Session_IDs bei frames verbinden,das jedes Fenster die gleiche session id hat....oder schreib ich hier nur MIST und bin total auf dem Holzweg???

      Kommentar


      • #18
        starte die session in der datei, die das frameset definiert und hänge die session-id an jeden frame
        PHP-Code:
        <?php
        session_start
        ();
        ?>
        ...
        <frame src="menu.php?<?php echo SID?>"
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #19
          Idiotie des Kreises

          Hallo ich bins mal wieder,

          Versuch es mal ausfühlicher.
          Mein LOGIN
          PHP-Code:
          session_start();//session wird erzeugt
          include '../_db/db_sessionhelpers.php';  
          $sql="SELECT UserID FROM users     
          WHERE UserNick='"
          .$_GET['usernick']."' AND UserPass=MD5('".$_GET['userpass']."') 
          LIMIT 1"

          $resultmysql_query($sql) or die(mysql_error());         
          if (
          mysql_num_rows($result)==1
              { 
                  
          $userid=mysql_fetch_assoc($result);     
                      if (
          $userid!=false)
              {    
                          
                  
          $sql="UPDATE users 
                  SET UserSession='"
          .session_id()."' 
                  WHERE UserID="
          .$userid['UserID']; 
                  
          mysql_query($sql); 
                                       
                  include 
          "../framesets/singleLoggedIn.php";        
              }
              }
              else 
                  include 
          "../framesets/singlePWD.php"
          funktioniert SUPER!!!
          Beim erfolgreichem Einloggen wir die session_id in die DB eingetragenund es werden Benutzerdaten angezeigt. Diese können gelöscht ,verändert und nat. gespeichert werden in DB.
          Hier ist auch ein logout Button.
          PHP-Code:
          session_start(); 

          $sql="UPDATE users 
              SET UserSession=NULL 
              WHERE UserSession='"
          .session_id()."'"
               
          mysql_query($sql);     
          session_unset();
          session_destroy(); 
          funzt auch SUPER.
          Die session_id wird dabei aus der DB wieder entfernt.
          Beim Drücken des zurück Buttons bin ich aber wieder eingeloggt.
          Und das darf nicht sein..
          Kann mir da vielleicht jemand helfen?.
          Zuletzt geändert von kave78; 02.03.2005, 21:41.

          Kommentar


          • #20
            Brauche Bald Penizillin

            Hi Penizillin

            du kann st vielleicht meine letzte Hoffnung sein.
            Hiermit hast du die Chance einen durchaus netten Mitbewohner dieses Planeten vor dem Wahnsinn zu beschützen.
            MICH!!

            Versuch es mal ausfühlicher.
            Meine login.php
            PHP-Code:
            session_start();//session wird erzeugt
            include '../_db/db_sessionhelpers.php';  
            $sql="SELECT UserID FROM users     
            WHERE UserNick='"
            .$_GET['usernick']."' AND UserPass=MD5('".$_GET['userpass']."') 
            LIMIT 1"

            $resultmysql_query($sql) or die(mysql_error());         
            if (
            mysql_num_rows($result)==1

                    
            $userid=mysql_fetch_assoc($result);     
                        if (
            $userid!=false)
                {    
                            
                    
            $sql="UPDATE users 
                    SET UserSession='"
            .session_id()."' 
                    WHERE UserID="
            .$userid['UserID']; 
                    
            mysql_query($sql); 
                                         
                    include 
            "../framesets/singleLoggedIn.php";        
                }    
                else 
                    include 
            "../framesets/singlePWD.php";

            funktioniert SUPER!!!
            Beim erfolgreichem Einloggen wir die session_id in die DB eingetragenund es werden Benutzerdaten angezeigt. Diese können gelöscht ,verändert und nat. gespeichert werden in DB.
            Hier ist auch ein logout Button.

            PHP-Code:
            session_start(); 

            $sql="UPDATE users 
                SET UserSession=NULL 
                WHERE UserSession='"
            .session_id()."'"
                 
            mysql_query($sql);     
            session_unset();
            session_destroy(); 
            funzt auch SUPER.
            Die session_id wird dabei aus der DB wieder entfernt.
            Beim Drücken des zurück Buttons bin ich aber wieder eingeloggt.
            Habe gerade gesehen,das bei betätigen des zurück buttons die Werte von Usernick und userpass wieder übergeben werden. (http://login.php?usernick=123&userpass=321)
            Wie kann ich das denn verhindern?

            Hilfe...(geb dir echt n Bier aus)
            Zuletzt geändert von kave78; 02.03.2005, 23:53.

            Kommentar


            • #21
              das hat man doch schon oft genug hier besprochen, such mal danach.

              und login/pw sollten ausschließlich über post übertragen werden.
              OffTopic:
              woher dieses persönliche?

              Kommentar


              • #22
                Die Idiotie des Kreises

                1. ...mhh danke ..dann werd ich mal danach suchen
                2. .....GET reicht doch aus (1024 kb ? b) ..oder etwa net?!
                3. gibts nen stichwort nachdem man suchen sollte, um das zu
                erfahren,was man zu erfahren sucht??

                4. Offtopic(keine ahnung was man da vorsetzen muss)
                ---------------------------------------------------------------------
                weil du der master bist, der auch nach 12.pm noch am start ist
                und du gute verbesserungsvorschläge bringst
                ------------------------------------------------------------------

                Zuletzt geändert von kave78; 03.03.2005, 02:09.

                Kommentar


                • #23
                  funzt auch SUPER.
                  Die session_id wird dabei aus der DB wieder entfernt.
                  Beim Drücken des zurück Buttons bin ich aber wieder eingeloggt.
                  Und das darf nicht sein..
                  Kann mir da vielleicht jemand helfen?.
                  Sicher?
                  hast du mal geschaut ob die sessionid wirklich wieder in der DB steht (siehe mal pma) oder ob dir nur die letzte Seite aus dem Browser Cache angezeigt wird.
                  mfg
                  marc75

                  <Platz für anderes>

                  Kommentar


                  • #24
                    oh je, Doppelpostings zu einem Thema werden hier nicht gerne gesehen.

                    Die Userlogindaten via GET zu Übergeben sollte man vermeiden. Und wie schon im anderen Post von mir erwähnt, probiere mal header() nach dem ausloggen (ohne die GET Daten mitzugeben).
                    mfg
                    marc75

                    <Platz für anderes>

                    Kommentar


                    • #25
                      @marc75
                      Genauso ist es bei mir. Danke dir! Endlich ein Problem weniger.
                      it's not a bug,
                      it's a feature!

                      Kommentar


                      • #26
                        genau und deshalb *zusammenführen*. Bitte zukünftig unterlassen. Danke.

                        Kommentar


                        • #27
                          Hi ,

                          Vielen ,vielen Dank!!!!

                          Das das nur an POST und GET gelegen haben kann,kapier ich zwar noch nicht so ganz....aber es funktioniert!!!!!!

                          Sorry wegen dem Doppelposting.Wird nicht mehr vorkommen.

                          schönen Tag noch.

                          Kommentar

                          Lädt...
                          X