FireFox und Cookies

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

  • FireFox und Cookies

    Hallo...

    Ist es möglich, dass FireFox nach dem Setzen eines Cookies automatisch einen Reload der Seite durchführt oder ähnliches?

    Folgendes nämlich:
    In meinem Skript wird bei jedem Seitenwechsel eine interne Seiten-IP generiert und in der Datenbank gespeichert.
    Bei einem Seitenwechsel wird dann geprüft, ob diese interne Seiten-IP (die als $_GET an den Link angehangen wird, dem aktuellen wert in der Datenbank entspricht.
    Wenn ja, wird die nächste Seite geöffnet, wenn nein, wird der Benutzer rausgeworfen.
    Zusätzlich ebsteht die Möglichkeit, beim Login einen Cookie zur Widererkennung zu setzen.
    Das funktioniert beim IE auch problemlos.
    Im FireFox funktioniert das auch, aber nur, wenn kein Cookie für den Dauerlogin gesetzt wurde.
    Sobald ich im FireFox den Cookie für den Dauerlogin setze, ist der $_GET-Wert der internen Seiten-IP immer ungleich dem Wert in der Datenbank.
    Es scheint also, dass FireFox die Seite reloadet hat, das ist die einzige Möglichkeit, wie eine andere interne Seiten-IP zustande kommen kann.
    Der Login selbst klappt, aber sobald man sich im Mitgliedbereich bewegen will, gibt es die Fehlermeldung, dass man nicht eingeloggt ist.
    Will man sich dann erneut einloggen, erkennt das Skript im FireFox den gesetzten Cookie (also ja, er wird gesetzt) und loggt mich automatisch wieder ein.
    Aber dann wieder genau dasselbe Spiel, der $_GET-Wert stimmt nicht mit dem in der Datenbank überein.

    Und wie gesagt, im IE funktioniert das einwandfrei, nur der FireFox hat jedesmal einen falschen Wert im Link
    Und das auch nur, wenn ein Cookie gesetzt werden soll. Ohne den Cookie kann man den Mitgliedsbereich auch im FireFox durchwandern...

  • #2
    Re: FireFox und Cookies

    Original geschrieben von Wannabe
    Ist es möglich, dass FireFox nach dem Setzen eines Cookies automatisch einen Reload der Seite durchführt oder ähnliches?
    Nö, kann ich mir nicht vorstellen.
    In meinem Skript wird bei jedem Seitenwechsel eine interne Seiten-IP generiert und in der Datenbank gespeichert.
    Was ist eine "Seiten-IP"?
    Meinst du eine Seiten-ID?
    Bei einem Seitenwechsel wird dann geprüft, ob diese interne Seiten-IP (die als $_GET an den Link angehangen wird, dem aktuellen wert in der Datenbank entspricht.
    Wenn ja, wird die nächste Seite geöffnet, wenn nein, wird der Benutzer rausgeworfen.
    Wozu soll dieser Zirkus gut sein?

    Wenn du einen Mitgliederbereich realisieren willst - warum nutzt du dann nicht etablierte und anerkanntemaßen funktionierende Mechanismen, wie den eingebauten Session-Mechanismus von PHP?


    Was dein eigener Mechanismus macht, wann eine Seiten-I(P|D) generiert und wann abgeprüft wird, ist mir leider aus deiner Beschreibung noch nicht ganz klar geworden.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Wenn ich dich jetzt richtig verstehe: Du vergleichst im Cookie Fall eine $_GET Var mit einem DB Eintrag ?
      Wäre es nicht besser die Interne IP als Session zu speichern ? Dann kannst du einfach
      PHP-Code:
      if(isset($_SESSION['interne_ip'])){
          
      //user darf weitermachen
      }else{
         
      //user wird rausgeworfen

      Dabei kann es dir in diesem Falle egal sein, wie die Session ID übermittelt wird (Cookie oder Get Parameter)

      Oder verstehe ich jetzt dein Problem nicht ?

      Gruss

      tobi
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        Wenn, dann liegt es an deinem Code, nicht jedoch an Firefox.
        Vor geraumer Zeit habe ich auch schon mal so eine Funktion geschrieben, und sie funktioniert in allen Browsern einwandfrei.
        mfg - sagg

        Kommentar


        • #5
          Re: Re: FireFox und Cookies

          Original geschrieben von wahsaga

          Wozu soll dieser Zirkus gut sein?

          Wenn du einen Mitgliederbereich realisieren willst - warum nutzt du dann nicht etablierte und anerkanntemaßen funktionierende Mechanismen, wie den eingebauten Session-Mechanismus von PHP?
          Ich will mich eben einfach nicht ausschließlich auf Sessions verlassen.
          Nutzer meines Mitgliedsbereichs sind keine PC-Helden, haben oft nicht viel bis gar keine Ahnung vom Internet und mit meiner internen Seiten-Ip (meinetwegen nenn es ID oder Stempel oder was weiss ich) will ich den Session-Klau verhindern.
          Es passiert nunmal (leider) immer wieder, das irgendwelche Leute ne URL mitsamt der angehängten Session weitergeben, und damit der Nutzer, der einen Link zugeschickt bekommt, sich damit nicht unerwünscht im Mitgliedsbereich bewegen kann, prüfe ich mit der zweiten variablen, meiner intern erstellten Kennung eben, ob diese aktuell ist oder nicht, denn sie wird bei jedem seitenwechsel neu (und anders) in der Datenbank gespeichert.
          Es funktioniert so:[list=a][*]Der User loggt sich ein[*]Die Session wird gestartet[*]Mein Skript generiert eine zufällige 8-stellige Kennung (das, was ich eine Seiten-IP genannt hab)[*]Die Session-ID und diese zufällige Kennung werden in der datenbank mit dem Usernamen gespeichert[*]Wenn der User innerhalb des Mitgliedsbereichs die Seite wechselt, wird in der Datenbank geschaut, zu welchem User die Session-ID UND die zufällig generierte Kennung gehört[*]Wenn es in der datenbank eine Übereinstimmung gibt, handelt es sich um einen eingeloggten user, wenn es keine Übereinstimmung gibt, ist der Benutzer nicht eingeloggt[*]Ist der Benutzer eingeloggt, wird eine neue, zufällige, 8-stellige Kennung generiert und zusammen mit der Session-ID wieder in der Datenbank (mit Zeitstempel) gespeichert.[/list=a]
          Das ganze mache ich eben, wie gesagt, weil ich auf die Vorteile von Sessions nicht gänzlich verzichten, trotzdem aber den Session-Klau verhindern will

          Kommentar


          • #6
            Original geschrieben von jahlives
            Wenn ich dich jetzt richtig verstehe: Du vergleichst im Cookie Fall eine $_GET Var mit einem DB Eintrag ?
            Wäre es nicht besser die Interne IP als Session zu speichern ? Dann kannst du einfach
            PHP-Code:
            if(isset($_SESSION['interne_ip'])){
                
            //user darf weitermachen
            }else{
               
            //user wird rausgeworfen

            Dabei kann es dir in diesem Falle egal sein, wie die Session ID übermittelt wird (Cookie oder Get Parameter)

            Oder verstehe ich jetzt dein Problem nicht ?

            Gruss

            tobi
            Hallo Tobi,

            also wie das Skript funktioniert, hab ich ja jetzt einen Beitrag hier drüber kurz erklärt.
            Diese Interne Kennung kann ich eben NICHT in der Session übergeben, weil mein mechanismus (den Session-Klau zu verhindern) dann ja nicht mehr funktionieren würde

            Das komische ist eben einfach, dass ausschliesslich beim Firefox dieser fehler auftritt.
            Die interne IP wird im IE immer passend gespeichert, im Firefox steht dort immer die falsche, und deswegen dachte ich, dass der Firefox vielleicht in irgendeiner Art und Weise anders mit Cookies umgeht...

            Kommentar


            • #7
              Du weißt aber daß Cookies immer erst bei einem erneuten Seitenaufruf gesetzt werden.

              Kommentar


              • #8
                Mach dir mal ne leere Seite und Setz mal einen Cookie.

                Ich wette das irgendwas beim setzen des Cookies falsch läuft und der IE ihn trotzdem setzt - hatte auch schonmal sowas.

                Wie siehsts in Opera/IE7 aus?

                Kommentar

                Lädt...
                X