Session Cookie und Browser??

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

  • Session Cookie und Browser??

    Hallo,

    ich bin vor einiger Zeit über Google zu diesem Forum gestossen. Ich habe sehr viel aus den Beiträgen gelernt, nun bin ich aber auf ein Problem gestossen, wo ich selbst nicht mehr weiter komme.

    Mein Problem:

    Ich habe eine Benutzeranmeldung, welche eine Session generiert und ein Cookie setzt. Das funktioniert mit Mozilla Problemlos aber mit WinXP überhaupt nicht.

    In Mozilla wird das Cookie normal gesetzt, jedoch bei Win Explorer nicht. Im Explorer von Win habe ich auf alle Cookies annehmen eingestellt.
    Woran kann das Liegen?

    PHP-Code:
    <?php
    if ($count == 1
    {
      
    setcookie($cookieName$cookieValue$cookieExpire"/");  
      
    Header("Location:frame.php");
    }else{
       echo (
    "Anmeldung nicht erfolgt!");
       exit();
    }
    ?>
    $cont ist der Rückgabewert der DB (es kann nur ein Resultat zurückkommen). Wenn dies der Fall ist wird das Cookie gesetzt und auf eine andere Seite verwiesen (frame.php).

    Was muss ich ändern, damit das Session-Cookie auch IE gesetzt wird?

    Vielen Dank für die Hilfe

    altea

  • #2
    Re: Session Cookie und Browser??

    funktioniert es, wenn du den nachfolgenden header weglässt?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Weiß nicht ob das was zur Sache tut (Wahrscheinlich eher nicht ) aber ich hab da mal folgendes festgestellt:

      Werden Cookies blockiert hängt PHP bei Weiterleitungen mittels header(); die SID nicht automatisch dran.

      Das war aber nicht Browserabhängig wie dein Problem.

      Gruss
      Quetschi
      Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
      Schön - etwas Geschichte kann ja nicht schaden.
      Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

      Kommentar


      • #4
        Hallo wahsaga,

        wenn ich des Haeder auskommandiere, wird unter IE auch kein Cookie gesetzt.
        Habe ich gerade getestet.

        Ausgabe an den Bildschirm mit IE!
        Ungueltige Session!
        cookie value: d18328418d96bd4fd956fb3956235ca8
        cookie :

        Code für diese Ausgabe:
        PHP-Code:
        <?php
        if (!session_is_registered('user')) 
        {
          die (
        "no session");
        }
        elseif(
        $_SESSION['cookieValue'] == $_COOKIE["mxtruder"]){
           
        $sessionID session_id();
        }else{
          echo 
        "Ungueltige Session!<br>";
          echo 
        "cookie value: ".$_SESSION["cookieValue"]."<br>";
          echo 
        "cookie      :".$_COOKIE['mxtruder'];
          exit();
        }
        ?>
        Mit Mozilla ist die funktionalität tadellos.

        altea
        Zuletzt geändert von altea; 02.06.2005, 14:56.

        Kommentar


        • #5
          Original geschrieben von altea
          wenn ich des Haeder auskommandiere, wird unter IE auch kein Cookie gesetzt.
          Habe ich gerade getestet.
          wo bitte setzt du denn in deinem code überhaupt einen cookie?
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Hi,

            in meinem ersten Post auf der 4. Zeile:
            setcookie($cookieName, $cookieValue, $cookieExpire, "/");

            Ablauf des Login:
            1. User füllt den Benutzernamen und das Passwort in das Formular ab.
            2. Die Daten werden mittels $_POST an ein Script logon.php gesendet.
            Da wird nun die DB abgefragt, ob der User vorhanden ist, wenn ja kommt ein Datensatz zurück . Dann wird ein Cookie gesetzt, und der User auf die eigentliche Page (frame.php) weitergeleitet.
            3. In frame.php findet der Fingerprint statt
            PHP-Code:
            <?php
            if (!session_is_registered('user')) 
            {
              die (
            "no session");
            }
            elseif(
            $_SESSION['cookieValue'] == $_COOKIE["mxtruder"]){
               
            $sessionID session_id();
            }else{
              echo 
            "Ungueltige Session!<br>";
              echo 
            "cookie value: ".$_SESSION["cookieValue"]."<br>";
              echo 
            "cookie      :".$_COOKIE['mxtruder'];
              exit();
            }
            ?>
            Wenn ich mit Mozilla mich anmelde, werde ich korrekt zu frame.php weitergeleitet und im Cookiemanager ist das Cookie gesetzt. Beim Microsot IE wird kein Cookie geschrieben und ich bekomme die Ausgabe:
            Ungueltige Session!
            cookie value: d18328418d96bd4fd956fb3956235ca8
            cookie : (HIER müsste der Cookiewert time() + (60 * 3) angezeigt werden)

            altea

            Kommentar


            • #7
              Hallo,

              ich habe den Fehler gefunden.

              Die Server Zeit war um 3 Stunden verschoben. IE 6 überprüft die Zeitangabe des Cookies, das bedeutet, dass das Cookie sofort wieder gelöscht wurde vom Browser, da es bereits abgelaufen war.
              Mozilla macht diese Prüfung nicht und deshalb funktionierte es.

              altea

              PS: Nochmals Danke für die Unterstützung.

              Kommentar

              Lädt...
              X