Zurück button und session ist wieder da..

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

  • Zurück button und session ist wieder da..

    hallo leute...

    ich habe ein login script..
    welches auch soweit funktioniert..

    nur wenn ich mich abmelde und dann mehrmals den zuruück-button vom
    browser drücke, komme ich wieder zu meinem admin-bereich.

    obwohl ich session_destroy() benutze beim ausloggen..

    kann mir jemand weiter helfen.. wäre sehr nett.

    danke schonmal im voraus

    frank

  • #2
    Bist Du sicher, daß die Session dann wieder da ist? Geh mal zurück, bis Du wieder im ACP bist und drück dann F5.
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      also wenn ich mich auslogge mittels session_destroy() gebe ich eine
      Meldung aus a la "Sie haben sich erfolgreich ausgeloggt"... usw.

      Und wenn ich jetzt den Zurück-Button EINMAL drücke kommt das Login-Menü,
      sprich Eingabe-Benutzer, Eingabe-Passwort...
      Und wenn ich jetzt zum zweiten mal den Zurück-Button drücke kommt kurz
      eine Meldung "..Die Seite, die Sie versuchen zu laden, wurde aus POST-Daten erstellt, die im Cache abgelaufen sind. Wenn Sie die Daten nochmals senden....."
      Da drücke ich auf OK und schon bin ich wieder im Admin-Bereich..

      Kommentar


      • #4
        Falls die Session tatsächlich noch läuft (= F5 wirft dich nicht auf die Loginseite), schau dir Beispiel 1 zu session_destroy() an.
        EDIT:
        Ok, dein Browser sendet die Login-Daten anscheinend nochmal an die Loginseite, die eigentlich schon aus dem Cache geflogen sein sollte. Aber schau dir das Beispiel trotzdem mal an.

        Kommentar


        • #5
          da steht..: "session_destroy() löscht alle in Verbindung mit der aktuellen Session stehenden Daten. Mit der Session zusammenhängende globale Variablen und das Session-Cookie werden nicht gelöscht."

          Ich müsste mal versuchen das Session-Cookie löschen..?

          Die Login-Seite wird deswegen aufgerufen weil, wenn man nit registriert ist,
          automatisch die Login-Seite erscheint..

          Kommentar


          • #6
            so sieht mein logout-teil aus
            <?
            session_start();
            if (isset($_COOKIE[session_name()])) {
            setcookie(session_name(), '', time()-42000, '/');
            }
            session_destroy();
            ?>

            was müsste ich denn noch machen..

            Kommentar


            • #7
              warum sendet der browser die formular-daten erneut,
              wenn man sich ausloggt..?
              wie kann man das verhindern..?

              sorry, kenne mich nit so gut aus in solchen sachen..

              Kommentar


              • #8
                wann der browser was sendet, dass lass mal seine sorge sein. da haste auch keinen einfluss drauf.

                aber das wird dann auch im willen des Users sein. -> erneutes einloggen

                wenn man sich ausloggt..?
                tut er aber sich nicht an dieser stelle.

                Kommentar


                • #9
                  Ich rate mal ...

                  1. Du hast die Loginseite aufgerufen.
                  2. Du hast deine Zugangsdaten eingegeben und abgeschickt.
                  3. Du bist auf der selben Seite geblieben, nur wurde dir jetzt der Adminbereich angezeigt.
                  4. Du hast dich ausgeloggt.
                  5. Dir wurde wieder die Loginseite angezeigt.

                  Nun klickst du auf zurück. Dein Browser wiederholt den Request, den er für 4. schonmal gesendet hat. Aber da deine Session nicht mehr existiert, siehst du nicht den Adminbereich sondern das Loginformular.
                  Du klickst nochmal auf zurück. Dein Browser wiederholt den Request, der dich von 2. zu 3. gebracht hat - und der enthielt nunmal deine Zugangsdaten.
                  Dein Browser sagt dir noch, dass er die Daten wieder mitsendet.
                  Du wirst also wieder eingeloggt. Das ist völlig korrekt, abgesehen davon, dass der Browser sich solche sensiblen Daten nicht merken sollte.

                  Eine Lösung wäre, nach dem Login per Header auf eine andere Seite weiterzuleiten. Oder du verhinderst irgendwie, dass die Daten mi Browser gespeichert werden bzw. dass sie noch valide sind (z.B. via hidden field).

                  Kommentar


                  • #10
                    vielleicht ist es sinnvoll, bei 1. die session zu beginnen und sich zu notieren, dass als nächstes die logindaten kommen. wird der schritt 2-3 nochmals ausgeführt, so ist nicht notiert, dass jetzt dann logindaten kommen. schritt2 wird nur akzeptiert wenn auch eine sessionvariable das erlaubt. im schritt2 wird diese sessionvariable wieder auf false gesetzt. HTH.

                    die analyse von onemorenerd ist super.

                    Kommentar


                    • #11
                      welcher umgang mit sessions ist eigentlich besser..

                      - die session login in die db reinschreiben und beim ausloggen löschen
                      oder
                      - die session intern regeln, sprich ohne Datenbankeintrag..

                      gruss,
                      frank

                      Kommentar


                      • #12
                        Original geschrieben von frank the tank
                        welcher umgang mit sessions ist eigentlich besser..

                        - die session login in die db reinschreiben und beim ausloggen löschen
                        oder
                        - die session intern regeln, sprich ohne Datenbankeintrag..

                        gruss,
                        frank
                        ....?
                        Du meinst den session_handler?

                        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                        Wie man Fragen richtig stellt

                        Kommentar


                        • #13
                          kommt immer drauf an. nutze die Suche um herauszufinden, auf was.

                          Kommentar

                          Lädt...
                          X