Silke: neuer Request bei Klick auf Zurück-Button

Hallo,
weiß jemand ob und wenn ja wie es möglich ist, dass bei einem Klick auf den Zurück-Button ein Request an den Server geschickt wird?
Ich habe schon alle möglichen Meta-Tags ausprobiert, aber darauf reagieren manche Browser unterschiedlich und auch die Aufforderung, auf "Aktualisieren" zu klicken, möchte ich umgehen.
Wozu ich das brauche?
Wenn ein Benutzer sich von meiner Anwendung abmeldet und das Browserfenster nicht schliesst, kann ein anderer über den Zurück-Button die Seiten des ersten Benutzers sehen. Zwar kann er keine Aktionen durchführen oder Links anklicken (habe ich über SessionIDs verhindert), aber er soll die Seiten gar nicht erst sehen dürfen, sondern z.B. mit einer entsprechenden Meldung auf die Login-Seite kommen. Dass so etwas geht, zeigt z.B. Web.de oder das Webmail-Programm des Horde Projekts.
Bereits jetzt vielen Dank für Tipps!
Silke

  1. Hallo,
    weiß jemand ob und wenn ja wie es möglich ist, dass bei einem Klick auf den Zurück-Button ein Request an den Server geschickt wird?
    Ich habe schon alle möglichen Meta-Tags ausprobiert, aber darauf reagieren manche Browser unterschiedlich und auch die Aufforderung, auf "Aktualisieren" zu klicken, möchte ich umgehen.
    Wozu ich das brauche?
    Wenn ein Benutzer sich von meiner Anwendung abmeldet und das Browserfenster nicht schliesst, kann ein anderer über den Zurück-Button die Seiten des ersten Benutzers sehen. Zwar kann er keine Aktionen durchführen oder Links anklicken (habe ich über SessionIDs verhindert), aber er soll die Seiten gar nicht erst sehen dürfen, sondern z.B. mit einer entsprechenden Meldung auf die Login-Seite kommen. Dass so etwas geht, zeigt z.B. Web.de oder das Webmail-Programm des Horde Projekts.
    Bereits jetzt vielen Dank für Tipps!
    Silke

    hi wenn du mit session id´s arbeitest dann zerstör doch die session!
    wenn du zuvor in die session ein login/pw geschrieben hast kannst du per header z.b. auf das loginformular springen:

    if ($_SESSION['Login'] != "true")
     {
     header('Location: index.php');
     }

    1. Aber das bringt nur was wenn man die Seite reloadet aber nicht wenn man auf den Zurück button klickt!

      samy,

      1. Aber das bringt nur was wenn man die Seite reloadet aber nicht wenn man auf den Zurück button klickt!

        samy,

        nun ja kommt darauf an was die letzte aktion war...wenn z.b. ein warenkorb abgeschickt wurde kann ich hier ein session destroy machen...wenn ich zurück gehe und die loginvariable in der session also nicht mehr vorhanden ist springt er dahin wo ich will

        1. Aber das bringt nur was wenn man die Seite reloadet aber nicht wenn man auf den Zurück button klickt!

          nun ja kommt darauf an was die letzte aktion war...wenn z.b. ein warenkorb abgeschickt wurde kann ich hier ein session destroy machen...wenn ich zurück gehe und die loginvariable in der session also nicht mehr vorhanden ist springt er dahin wo ich will

          Ja, so etwas in der Art brauche ich. Wie funktioniert das genau mit session destroy? Ist das PHP oder Perl? Meine Anwendung ist nämlich in Delphi programmiert, und das Session-Handling selbst geschrieben...
          Und noch eine Frage: Wenn er dann dahin springt wo ich will, kommt der Benutzer danach via Button wieder zurück? Das darf er nämlich nicht. Und da der Browser beim Zurück-button die Seite aus dem Cache nimmt, kann ich serverseitig nicht reagieren, das ist das Problem.

          Danke und Gruß,
          Silke

          1. ist eigentlich mit php recht simpel...

            ich habe ein laogin-formular, dass dann die nächste seite aufruft..
            wenn der login ok ist (datenbankabfrage) wird die session gestartet..

            session_start();
            $_SESSION["KundenNr"] = $KundenNr;
            $_SESSION["Benutzername"] = $Benutzername;
            $_SESSION["login"] = true;

            ...

            nach abschicken des warenkorbes kannst dan z.b.:

            session_unregister("Warenkorb");

            oder session_destroy();

            wenn du jetzt zurückklickst gibt es z.b. kein $_SESSION["login"] mehr!! der header weist nun z.b. auf die indexseite:

            also so:
             if ($_SESSION['login'] == false)
             {
             header('Location: index.php');
             }

            wichtig: vor dem header darf nichts auch kein leerzeichen ausgegeben werden, also immer ganz am anfang der seite...

            ich hoffe das hilft dir, ansonsten such doch mal bei google nach tutorial sessions:

            oder schau mal hier rein:
            http://tut.php-q.net/index.html

  2. Es gib glaub ich so was wie einen "reload" Metatag der Angibt wann die Seite neu geladen werden soll und wann sie aus dem Browser-Cache kommen soll!

    samy,