Bettina: Löschen der Browser-History

Hallo zusammen,

ich habe folgendes Problem:
Ich habe eine Anwendung, die personenbezogene Daten enthält. Wenn der Anwender sich ausloggt erscheint eine Bestätigungsseite, dass der Anwender abgemeldet ist.

Wenn man nun im Browser den "Zurück" Button betätigt sieht man die letzte Seite die der Anwender in der Anwendung besucht hat. Wenn man nun versucht eine Aktion durchzuführen gelangt man zwar zur login-Seite aber durch das Betätigen des "Zurück" Buttons sieht man trotzdem Daten, die nicht jeder sehen darf.

Gibt es eine Möglichkeit z.B. über JavaScript die Browser-History zu löschen oder kennt Ihr einen Weg um mein Problem zu vermeiden?

Bei web.de funktioniert es immerhin. Wenn ich mich dort auslogge und dann den "Zurück" Button betätige komme ich nicht zurück in meine Mailbox.

Vielen Dank im Voraus.

Grüssle
Bettina

  1. Hi,

    Gibt es eine Möglichkeit z.B. über JavaScript die Browser-History zu löschen

    nein.

    oder kennt Ihr einen Weg um mein Problem zu vermeiden?

    Der Browser holt die Seiten aus seinem Cache. Verhindere, dass sie dort landen.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hallo Cheatah,

      oder kennt Ihr einen Weg um mein Problem zu vermeiden?

      Der Browser holt die Seiten aus seinem Cache. Verhindere, dass sie dort landen.

      Das ist ein guter Hinweis. Danke vielmals.
      Kann man das Landen der Seiten im Browsercache mit HTML Bordmitteln verhindern?

      Gruss
      Bettina

      1. Hi,

        Kann man das Landen der Seiten im Browsercache mit HTML Bordmitteln verhindern?

        streng genommen kann man es gar nicht verhindern: Wenn _ich_ will, dass die Seiten gecacht werden, dann werden sie es. Es ist schließlich mein Rechner, auf dem ich die alleinige Entscheidungsgewalt habe. Mit hinreichend günstigen <meta>-Tags kannst Du aber diejenigen HTTP-Header simulieren, die ein Deinen Wünschen entsprechendes Caching-Verhalten empfehlen.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Hallo,

          Mit hinreichend günstigen <meta>-Tags kannst Du aber diejenigen HTTP-Header simulieren, die ein Deinen Wünschen entsprechendes Caching-Verhalten empfehlen.

          Könntest Du mir diesbezüglich weiter helfen? Was für Meta-Tags müsste ich denn verwenden?

          Ich habe bereits folgendes ausprobiert, hat aber nicht funktioniert:
          <head>
           <meta http-equiv="expires" content="Sat, 15 Dec 2001 12:00:00 GMT">
          ...
          ...
          </head>

          Wenn ich mich ausgeloggt habe und danach manuell den Cache im Firefox lösche kann ich auch nicht mehr zurück. Genau so wie ich es mir vorstelle.

          Bettina

          1. Hi,

            Könntest Du mir diesbezüglich weiter helfen? Was für Meta-Tags müsste ich denn verwenden?

            Maxx hat Dir den HTTP/1.1-Standard bereits genannt, Christoph hat das mittlerweile noch erweitert. Da es sich um HTTP-äquivalente Header handelt, ist die Verwendung des http-equiv-Attributs erwartbar.

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
    2. Hallo Cheatah,

      könnte es sein, dass es nicht funktioniert weil ich den quirks mode aktiviert habe?

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

      Gruss
      Bettina

    3. Moin!

      oder kennt Ihr einen Weg um mein Problem zu vermeiden?

      Der Browser holt die Seiten aus seinem Cache. Verhindere, dass sie dort landen.

      Ich muß widersprechen.

      Die Vor- und Zurück-Tasten der Browserbedienung sind History-Funktionen. Das deutet sich allein deswegen an, weil die Javascript-Äquivalente per history.forward() und history.back() aufrufbar sind.

      Die History eines Fensters hat mit dem Cache aber nur insoweit etwas zu tun, als dass beide Seiten speichern. Die History ist aber zumindest theoretisch (viele Browser implementieren es nicht so, ich empfehle Opera für eine in dieser Hinsicht gute Implementierung) vollkommen unabhängig von irgendeinem Cache-Inhalt.

      Die korrekte Lösung müßte als lauten:
      "Der Browser holt die Seiten aus seiner History. Verhindere, dass sie dort landen."

      Und das Problem dieser Aussage ist: Die History ist im Gegensatz zum Cache nun wirklich absolutes Userland. HTTP-Header haben hier garnichts zu sagen, alle Seiten werden immer in der History des Fensters gespeichert.

      Die einzige Methode, die History des Fensters los zu werden, ist, das Fenster los zu werden. Also window.close().

      - Sven Rautenberg

      --
      My sssignature, my preciousssss!
  2. Hallo Bettina,

    Wenn man nun im Browser den "Zurück" Button betätigt sieht man die letzte Seite die der Anwender in der Anwendung besucht hat.

    du musst dem Browser sagen, dass er die Seite nicht cachen darf.
    http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9

    Etwas verständlicheres in deutsch finde ich leider im Moment nicht. Aber dein Suchbegriff ist "Cache-Control" bzw. "no-cache"

    Grüße,

    Jochen

    --
    Heute schon gescribbelt?
    Scribbleboard
    1. hallo Maxx,

      http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9
      Etwas verständlicheres in deutsch finde ich leider im Moment nicht.

      http://de.selfhtml.org/html/kopfdaten/meta.htm enthält die nötigen Suchbegriffe "Cache-Control" bzw. "no-cache"

      Grüße aus Berlin

      Christoph S.

      1. Hallo Christoph,

        http://de.selfhtml.org/html/kopfdaten/meta.htm enthält die nötigen Suchbegriffe "Cache-Control" bzw. "no-cache"

        Danke für den Hinweis.

        Ich habe bereits folgendes ausprobiert:
         <meta http-equiv="expires" content="0">
         <meta http-equiv="cache-control" content="no-cache">
         <meta http-equiv="pragma" content="no-cache">

        das hat leider alles nichts geholfen.
        Gruss

        Bettina

        1. Hallo Bettina,

          <meta http-equiv="expires" content="0">
          <meta http-equiv="cache-control" content="no-cache">
          <meta http-equiv="pragma" content="no-cache">

          das hat leider alles nichts geholfen.

          Welchen Browser verwendest du, und wie ist sein Cache eingestellt?

          Grüße,

          Jochen

          --
          Heute schon gescribbelt?
          Scribbleboard
          1. Hallo Jochen,

            <meta http-equiv="expires" content="0">
            <meta http-equiv="cache-control" content="no-cache">
            <meta http-equiv="pragma" content="no-cache">

            das hat leider alles nichts geholfen.

            Welchen Browser verwendest du, und wie ist sein Cache eingestellt?

            Ich verwende den Firefox und den IE6. Ich habs aber auch von anderen REchnern aus probiert. Die Browser verhalten sich alle gleich.
            Grüße,
            Bettina

  3. Ich hab es nun gleich mit diesen drei Angaben probiert. Immer noch kein Ergebnis.

    <meta http-equiv="expires" content="0">
     <meta http-equiv="cache-control" content="no-cache">
     <meta http-equiv="pragma" content="no-cache">

    @cheatah: ich verwende ja das http-equiv Attribut, nur weiss ich nicht was da rein soll. Ich bin auf dem Gebiet noch ziemlich neu.

    Hängt es vielleicht damit zusammen, dass ich für die Anwendung Jakarta-Struts verwende?
    Dürfte eigentlich nicht, oder? Es wird ja schliesslich daraus auch HTML generiert.

    Gruss
    Bettina

    1. Hallo Bettina,

      versuch es mal nur mit:

      <meta http-equiv="cache-control" content="no-cache">

      so habe ich es gemacht.

      Gruß, Jürgen

      1. Hallo Jürgen,

        versuch es mal nur mit:

        <meta http-equiv="cache-control" content="no-cache">

        so habe ich es gemacht.

        funktioniert leider auch nicht.

        Ich wollte eigentlich kein JavaScript verwenden um den zurück-Button zu disablen aber das muss ich dan wohl machen. schade.
         Gruß, Bettina

  4. Hi

    ich habe folgendes Problem:
    Ich habe eine Anwendung, die personenbezogene Daten enthält. Wenn der Anwender sich ausloggt erscheint eine Bestätigungsseite, dass der Anwender abgemeldet ist.

    sende statt der Bestätigungsseite einen Redirekt auf diese. Dadurch ist dem Unkundigen das Rückwärtsgehen im Cache zumindest erschwert. Dem Kundigen wird sowieso egal sein...

    Gruß
    Wurf