WFUX: generierte HTML-Ausgabe/Seite vor ZURÜCK-Button schützen

Also ich habe ein Perlscript, welches eine HTML-Seite ausgibt. Es wäre allerdings wichtig, daß diese nicht in dem Browser-Cache erscheint, bzw. nicht durch den ZURÜCK-Button des Browsers erneut aufgerufen werden kann.
Ich habe dazu zwar schonmal eine Lösung in JavaScript (bei IRT.org) gesehen, aber ich kann nicht davon ausgehen, daß bei jedem Benutzer JavaScript im Browser aktiviert ist.
Desweiteren ist mir sowas schomal bei der Anmeldung zu einem Account (bei GMX) begegnet, daß ich während der Anmeldung den ZURÜCK-Knopf betätigt habe und dann nicht die vorherige Seite angezeigt wurde, sondern eine Nachricht, die in etwa lautete: "Seite nicht mehr gültig...".
Kann man sowas also in Perl (oder PHP (wenn's sein muß)bewerkstelligen? Wenn nciht, wie könnte das GMX gemacht haben?
Danke im Voraus!

  1. Hi,

    Es wäre allerdings wichtig, daß diese nicht in dem Browser-Cache erscheint, bzw. nicht durch den ZURÜCK-Button des Browsers erneut aufgerufen werden kann.

    so oft das hier gefragt wird, so oft ist die Antwort: Das ist Unsinn. Was immer Dein Problem ist, löse es anders.

    Wenn nciht, wie könnte das GMX gemacht haben?

    Die haben das sicherlich nicht mit Absicht gemacht, weil der User dann nämlich eher die Seite noch mal neu lädt. Ein "Schutz" (wovor eigentlich?) ist das sicher nicht. Die Ursache ist hinlänglich bekannt - und auch, wie sie korrigiert wird, damit so etwas _nicht_ passiert. Bitte recherchiere im Forums-Archiv.

    Cheatah

    1. Ein "Schutz" (wovor eigentlich?)

      Rein teoretisch betrachtet könnte sich ein webmaster wünschen, er könnte verhindern, das jemand einen Eintrag in ein Forum, ein Gästebuch, eine Datenbank... zweimal "macht" oder (unbewusst) hinterlässt...

      fastix

      1. Hi,

        Rein teoretisch betrachtet könnte sich ein webmaster wünschen, er könnte verhindern, das jemand einen Eintrag in ein Forum, ein Gästebuch, eine Datenbank... zweimal "macht" oder (unbewusst) hinterlässt...

        und Du meinst, das könnte geschehen, indem man es dem User verbietet, wieder zurück zu gehen? Wie gesagt provoziert das höchstens den genau gegenteiligen Effekt. Nein, diese Aktion _muss_ serverseitig geschehen.

        Cheatah

        1. Hi,

          Rein teoretisch betrachtet könnte sich ein webmaster wünschen, er könnte verhindern, das jemand einen Eintrag in ein Forum, ein Gästebuch, eine Datenbank... zweimal "macht" oder (unbewusst) hinterlässt...

          und Du meinst, das könnte geschehen, indem man es dem User verbietet, wieder zurück zu gehen? Wie gesagt provoziert das höchstens den genau gegenteiligen Effekt. Nein, diese Aktion _muss_ serverseitig geschehen.

          Cheatah

          Und da hätten wir hätten wir auch den richtigen Denkansatz... Wie wäre es mit einer Prüfung ob... (wird übrigens in diesem Forum gemacht...) Und wenn der Eintrag unspezifisch ist (-->> Scheisswerbebannerreloadverhinderer ) könnte man ja auch eine Session- ID erzeugen...

          Insgesamt können wir hier aber auch eine Doktorarbeit zusammenschreiben, weil uns der Frager sein Anliegen soooo genau spezifiert hat.

  2. Halihallo

    Also ich habe ein Perlscript, welches eine HTML-Seite ausgibt. Es wäre allerdings wichtig, daß diese nicht in dem Browser-Cache erscheint, bzw. nicht durch den ZURÜCK-Button des Browsers erneut aufgerufen werden kann.

    <html>
       <head>
       <meta http-equiv="cache-control" content="no-cache">
       </head>
       <body>...</body>
    </html>

    zudem den HTTP-Header

    Content-Type: text/html
    Expires: <date - z. B. gestern>

    dann sollte die Seite von den meisten Browsern neu geladen werden (ich bezweifle es jedoch beim Back-Button).

    Desweiteren ist mir sowas schomal bei der Anmeldung zu einem Account (bei GMX) begegnet, daß ich während der Anmeldung den ZURÜCK-Knopf betätigt habe und dann nicht die vorherige Seite angezeigt wurde, sondern eine Nachricht, die in etwa lautete: "Seite nicht mehr gültig...".

    Das hängt nicht mit der Programmierung von GMX zusammen, sondern mit dem Browser. Bei POST Requests auf eine Seite, wird diese Meldung angezeigt, da der Browser denkt, dass sich der Inhalt bereits wieder verändert haben könnte.

    Kann man sowas also in Perl (oder PHP (wenn's sein muß)bewerkstelligen? Wenn nciht, wie könnte das GMX gemacht haben?

    Perl kann alles, was PHP auch kann!

    Viele Grüsse

    Philipp

    1. Halihallo

      Also ich habe ein Perlscript, welches eine HTML-Seite ausgibt. Es wäre allerdings wichtig, daß diese nicht in dem Browser-Cache erscheint, bzw. nicht durch den ZURÜCK-Button des Browsers erneut aufgerufen werden kann.

      <html>
         <head>
         <meta http-equiv="cache-control" content="no-cache">
         </head>
         <body>...</body>
      </html>

      zudem den HTTP-Header

      Content-Type: text/html
      Expires: <date - z. B. gestern>

      dann sollte die Seite von den meisten Browsern neu geladen werden (ich bezweifle es jedoch beim Back-Button).

      Keine Ahnung, was der IE/NS/... beim Back-Button macht, ist mir eigentlich auch Wurscht. Wahrscheinlich einfach die vorherige Seite anzeigen ohne zu denken bzw. nur denken, wenn's ein POST-Request war. Ich stimme mit Cheatah überein: Das Konzept überdenken und irgendwie anders lösen. Ich kann mir nicht vorstellen, dass die Browser so intelligent sind und die Headerdaten überprüfen, ob der Content noch aktuell ist...

      Viele Grüsse

      Philipp

    2. Content-Type: text/html
      Expires: <date - z. B. gestern>

      Hm..hab noch keinen Browser gesehen, den interessiert hat ob im header der wert bei "cache-control" od. "pragma" auf "no-cache" steht. Aber egal, mir ist da schon was in Perl eingefallen...glaube ich...

      Perl kann alles, was PHP auch kann!

      hmmm... ;)  bin kein PHP-Freund, aber egal...

      Danke trotzdem...

      1. Halihallo <--- Begrüssung!

        Aber egal, mir ist da schon was in Perl eingefallen...glaube ich...

        Tät mich interessieren. Was willst denn basteln um das caching zu umgehen?

        Perl kann alles, was PHP auch kann!

        hmmm... ;)  bin kein PHP-Freund, aber egal...

        Gut, sehr gut :-)
        Perl sei Dank!

        Viele Grüsse

        Philipp