tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
10
ZUGRIFFE
240
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Eagle-PsyX-
    Eagle-PsyX- Eagle-PsyX- ist offline Mitglied Gold
    Registriert seit
    Sep 2007
    Beiträge
    149
    Hi,
    ich hab eine komplette, umfangreiche PHP Internetseiten mit ingesammt 47 PHP Datein im Moment. Dies wollte ich klarstellen, weshalb ich hier auch keine/kaum Code Schnippsel veröffentliche, ich hoffe dass versteht ihr.

    Also mein Problem ist, dass die Session "$_SESSION[ID]" bei mir nach dem ersten Link nachdem sie defeniert wurde überschreiben wird, und zwar immer zu "Default"?
    Aber dies geschiet NUR auf dem Internetserver, nicht mit XAMPP. Das dies ein Serverproblem ist bezweifel ich, denn andere Session Einträge sind immer korrekt.

    Die Seite die sich nach dem defenieren öffnet ist die erste Startseite wieder, und dort wird auch bis jetzt nicht mit Session gearbeitet.Logischerweise bin ich den Quellcode sehr oft durchgegangen, aber nirgendswo wurde die ID verändert.

    Kennt jemand vielleicht das Problem? Es ist doch sicher kein Zufall das es immer zu "Default" wird?
     

  2. #2
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Besitzt die Variable den Wert „Default“? Dann durchsuch doch einfach mal alle deine momentanen 47 PHP-Dateien nach diesem Wort. PHP verändert nämlich nicht einfach irgendwelche Werte.
     
    Markus Wulftange

  3. #3
    Avatar von Eagle-PsyX-
    Eagle-PsyX- Eagle-PsyX- ist offline Mitglied Gold
    Registriert seit
    Sep 2007
    Beiträge
    149
    "Logischerweise bin ich den Quellcode sehr oft durchgegangen, aber nirgendswo wurde die ID verändert."...
    Abgesehen davon hab ich nicht einmal das Wort "Default" benutzt (engl. Standard). Seltsam ist das dieses Problem NUR auf den Server vorhanden ist. Ich arbeite mit XAMPP und lade das Ergebniss(ggf. angepasst) nur hoch.

    -PHP Nicht, aber ggf. irgendwelche Sessions-Server Einstellungen?
     

  4. #4
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Dann wirst du wohl das Verhalten deiner Anwendung in dem genannten Rahmen genau analysieren müssen.

    Was wird denn überhaupt in genannten Variable gespeichert? Doch wohl nicht die Sitzungs-ID, oder?
     
    Markus Wulftange

  5. #5
    Avatar von Eagle-PsyX-
    Eagle-PsyX- Eagle-PsyX- ist offline Mitglied Gold
    Registriert seit
    Sep 2007
    Beiträge
    149
    Nein, die User-ID.
    Ich hab gerade etwas merkwürdiges entdeckt.
    Während des Logins Verfahren wird die User ID als $_SESSION[ID] gespeichert.
    Um den Fehler erstmal zu ignorieren hab ich jetzt einfach mal parallel den selben Wert in $_SESSION[SID] gespeichert, erstaunlich, auch dieser Wert wird sofort zu "Default" umgeändert? O.o
     

  6. #6
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Und wo kommt der Wert her, der dieser Variable zugewiesen wird?
     
    Markus Wulftange

  7. #7
    Avatar von Eagle-PsyX-
    Eagle-PsyX- Eagle-PsyX- ist offline Mitglied Gold
    Registriert seit
    Sep 2007
    Beiträge
    149
    Aus der User-Datenbank

    Aber der Wert stimmt, ich hab ihn (vorübergehend) gleich mit als Cookie gespeichert, und der ist immer richtig.

    Intressant ist wohl auch, das anschließend nach der Defenierung, der Login in das Protokoll gespeichert wird mit der ID. Beim Ausloggen ebenfalls, dort aber immer nur "Default" steht.
     

  8. #8
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Ist „ID“ das erste Element im $_SESSION-Array? Falls ja: speichere davor mal einen anderen Wert.
     
    Markus Wulftange

  9. #9
    Avatar von Eagle-PsyX-
    Eagle-PsyX- Eagle-PsyX- ist offline Mitglied Gold
    Registriert seit
    Sep 2007
    Beiträge
    149
    Ich kopier mal lieber den "Login" Abschnitt:

    PHP-Code:
    if($Site == "Login")
        {
            
    //SQL Abfrage von "$users" wo der Benutzername dem eingegebenen Benutzernamen gleicht, wird als Array "$SQLUser" gespeichert.
            
    $usernamesql mysql_query("SELECT ID, Username, Nick, RealName, Password, Status FROM $users WHERE Username LIKE '$_POST[username]'");
            
    $SQLUser mysql_fetch_object($usernamesql);
            
            
    //Uberprüfen ob Login richtig ist
            
    if(isset($SQLUser->Username
            AND 
    $SQLUser->Username == $_POST["username"
            AND isset(
    $SQLUser->Password)
            AND 
    $SQLUser->Password == md5($_POST["password"])
            AND 
    $SQLUser->Status != "D")
                {
                    
    //Sicherheits Informationen defenieren
                    
    $SecureID1 rand(1000000,9999999);
                    
    $SecureID2 rand(1000000,9999999);
                    
    $SecureIP $_SERVER['REMOTE_ADDR'];
                    
    $time time();
                    
    $SecureTime date("H:i",$time);
                    
    $SecureSession session_id();
                    
    //Sicherheits Informationen 'Zusammenkleben'
                    
    $Secure "$SecureID1|$SecureID2|$SecureIP|$SecureTime|$SecureSession";
                    
                    
    //Speichern einzelne Informationen in die Session
                    
    $_SESSION["Username"] = $_POST["username"];
                    
    $_SESSION["ID"] = 5;
                    
    $_SESSION["ID"] = $SQLUser->ID;
                    
    $_SESSION["Secure"] = $Secure;
                    
    $_SESSION["Status"] = $SQLUser->Status;
                    
    $_SESSION["Password"] = $_POST["password"];
                    
                    
    //Sicherheits Informationen in die Datenbank speichern
                    
    $SQLsecure2 "UPDATE $users SET Secure='$Secure', LastLogin='$time' WHERE Username LIKE '$_POST[username]'";
                    
    $SQLsecure mysql_query($SQLsecure2);
                    
    //Sicherheits Informationen als Cookie speichern
                    
    setcookie("Secure"$Secure);
                    
    setcookie("ID"$SQLUser->ID);
                    
                    
    //Login wird ins Protokoll geschreiben
                    
    $LoginZIP = new ZipArchive();
                        if (
    $LoginZIP->open("./Log/Login.zip"ZIPARCHIVE::CREATE)!==TRUE) {
                            exit(
    "cannot open <Login.zip>\n");
                    }
                    
    $EintragNameZIP $_SESSION["ID"] . "-" time() . ".txt";
                    
    $EintragInhaltZIP $_SESSION["ID"] . "|" $_SESSION["Username"] . "|$ActDate|$ActTime|" $_SERVER['REMOTE_ADDR'];
                    
    $LoginZIP->addFromString($EintragNameZIP$EintragInhaltZIP);
                    
    $LoginZIP->close(); 
                }
                    
    $Site "Content/Login.php";
                
        } 
     

  10. #10
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Was passiert denn mit den Sitzungsdaten auf den Folgeseiten?
     
    Markus Wulftange

  11. #11
    Avatar von Eagle-PsyX-
    Eagle-PsyX- Eagle-PsyX- ist offline Mitglied Gold
    Registriert seit
    Sep 2007
    Beiträge
    149
    Hi, mir wäre es lieber das etwas weniger öffentlich (Forum) anzugehen.
    Die "Login.php" ist es nicht, da ich am ende sowie am anfang den korrekten Wert noch auslesen konnte.

    Edit: Ich hab das Problem gelöst mit ca. 70 SessionIDs Abfragen hab ich irgendwann die Quelle gefunden.
    Geändert von Eagle-PsyX- (23.02.08 um 11:41 Uhr)
     

Ähnliche Themen

  1. Auswahl wird ungewollt abgeschnitten!
    Von schokolily im Forum Photoshop
    Antworten: 14
    Letzter Beitrag: 14.04.10, 15:58
  2. Verzeichnisstruktur wird ungewollt angezeigt
    Von Psychodelics im Forum Hosting & Webserver
    Antworten: 0
    Letzter Beitrag: 04.01.10, 09:46
  3. Session wird gelöscht?
    Von Bernie33 im Forum PHP
    Antworten: 14
    Letzter Beitrag: 30.05.08, 22:41
  4. ungewollt: Hand wird zum Pfeil auf Schaltfläche
    Von Tixiland im Forum Flash Plattform
    Antworten: 4
    Letzter Beitrag: 18.12.05, 09:23
  5. Variable nur überschreiben, wenn sie geändert wird.
    Von alexanderneipp im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 15.01.03, 14:06