Zurück-Button deaktivieren

Hallo zusammen,

gibt es irgendeine Möglichkeit den Zurück-Button im Browser lahmzulegen oder kann man es anders verhindern, dass die Leute zurück auf die vorherige Seite kommen? Ich habe da ein kleines Rätselspielchen gebastelt bei dem man sich von Seite zu Seite klicken muss und auf einer Seite gibt es quasi zwei Wege, von denen einer der richtige ist und der andere dementsprechend in eine Sackgasse führt. Es ist nur irgendwie blöd wenn derjenige, der den falschen Weg gewählt hat einfach auf „zurück“ klickt und den anderen Weg wählt, ich fänd’s viel unterhaltsamer wenn er wieder von vorne anfangen müsste…

Hallo,

Rätselspielchen gebastelt bei dem man sich von Seite zu Seite
klicken .

Schön , aber so ist das , genauso wie mit diesen adventure heften .
Du kannst aber dem Leser nicht vorschreiben wohin er in seinem browser darf oder auch nicht.

Wie wäre es mit coockies oder server seitig .
Das was du da gebastelt hast ist ein anfang aber mit den problemen wirst du dabei leben müssen.

Kleine, unsichere Lösung: JavaScript
Salu Agi,

im IE kann man die Seite in einem neuen Fenster ohne „Zurück“-Button öffnen, dennoch funktioniert dann immer noch Alt + ←. Mit JavaScript kann man die Browser-History manipulieren, doch eine absolut sichere Methode ist das auch nicht, denn wenn die URL bekannt oder systematisch ist (z. B. http://www.abcde.de/raetsel/seite02), oder wenn JavaScript auf dem Browser deaktiviert ist (oder eigens dafür deaktiviert wird), gehen diese Kniffe nicht. Wenn sie für einen einfachen, schnellen Gag genügen, findest Du hier die Anleitungen: http://viralpatel.net/blogs/disable-back-button-brow…

Wenn die Seiten von einem Server geliefert werden, könntest Du die Sache recht einfach mit PHP und Cookies machen. Ganz sicher klappt’s aber nur, wenn Du das Rätsel mit Login-Daten versiehst, denn auch Cookies lassen sich löschen.

Viel Erfolg :o)

-Rob.

Moin

Wenn die Seiten von einem Server geliefert werden, könntest Du
die Sache recht einfach mit PHP und

oder

Cookies machen. Ganz
sicher klappt’s aber nur, wenn Du das Rätsel mit Login-Daten
versiehst, denn auch Cookies lassen sich löschen.

Unsinn , es ist eine wegverzweigung , da braucht es kein login , lediglich irgendein parameter der sagt wo die person gerade ist, und dann gibts die nächste seite , z.b. SESSION auf dem Server .

Login ist dann eher die Speichern für Später weiterspielen sache :smile:

Viel Erfolg :o)

-Rob.

‚Unsinn‘

Ganz
sicher klappt’s aber nur, wenn Du das Rätsel mit Login-Daten
versiehst, denn auch Cookies lassen sich löschen.

Unsinn , es ist eine wegverzweigung , da braucht es kein login
, lediglich irgendein parameter der sagt wo die person gerade
ist, und dann gibts die nächste seite , z.b. SESSION auf dem
Server .

Login ist dann eher die Speichern für Später weiterspielen
sache :smile:

Okay, dann mach mich mal schlau: Wie willst Du verhindern, daß User Max Mustermann oder seine Nachbarin Lieschen Müller eine vorangegangene Seite über den bekannten (Browser-History oder schlicht notiert) URL aufruft, um dort eine andere Rätselantwort einzugeben (zu testen)? Gerade das soll doch verhindert werden.

Wenn man will, daß jeder Rätselteilnehmer jede Rätselseite genau einmal öffnen kann, ist das nur personalisiert machbar.

SESSION auf server …
braucht kein login , eine session ist nur eine identifizierung , ob das hans x oder mister y ist ist egal und bei zurück , ruft es ja ein PHP auf , nicht mehr .html und das php macht die logik.
Aber ein Login hat ganz andere zwecke und gründe. login ist authentifizierung einer person … danach ist es dann auch nur noch eine session , wo vielleicht drinne steht welcher person diese gehört …

wie gesagt, erstmal solltest du dich schlau machen …

ein Beispiel in PHP , nüx login :smile:

<?php /* für wer-weiss-was von techpech */
/\* einfacher rundgang . /\* struktur raum array( name , template file , array(richtungen)) \*/ $raum = array(); $raum[] = array("Raum 1" , "raumtemplate.htm" , array(2)); $raum[] = array("Raum 2" , "raumtemplate2.htm" , array(1,3)); $raum[] = array("Raum 3" , "raumtemplate3.htm" , array(4)); $raum[] = array("Raum 4" , "raumtemplate4.htm" , array(3,5)); $raum[] = array("Raum 5" , "raumtemplate5.htm" , array(1)); session\_start(); if (!isset($\_SESSION["raum"])) { // start bei keinem raum // $\_SESSION["raum"] = 1; } $richtungen = $raum[($\_SESSION["raum"]-1)][2]; if (isset($\_GET["raum"])) { if (in\_array ( $\_GET["raum"] , $richtungen )) { $\_SESSION["raum"] = $\_GET["raum"]; $richtungen = $raum[($\_SESSION["raum"]-1)][2]; } } // ausgabe für raum anzeige hier if (file\_exists($raum[($\_SESSION["raum"]-1)][1])) { readfile($raum[($\_SESSION["raum"]-1)][1]); } else { echo " #### ".$raum[($\_SESSION["raum"]-1)][1].""; } echo "Sie sind in ".$raum[($\_SESSION["raum"]-1)][0]." und können sich nach "; foreach ($richtungen as $richtung) { echo " [".$raum[($richtung-1)][0]."](%255C%2522?raum=%2522.%2524richtung.%2522) " ; } echo " bewegen"; ?\>

ah , ich glaub wir reden auch von zwei dingen ,
ein wiederholen von anfang an zu unterbinden, ja da bräuchte es ein login , wobei man dann halt viele logins macht ,durchaus gängig um zur lösung zu kommen .
Aber solche einmal wege mögen user gar nicht gerne … das ist schon seit dem 64er bekannt.

hmm

das auch wieder falsch, mann kann ein token verwenden , der nur einmal gilt,
damit hat man ein login auch wieder nicht nötig , frage ist nur , woher bekomme ich den token :smile:

‚Unsinn‘ usw.

das auch wieder falsch, mann kann ein token verwenden , der
nur einmal gilt,
damit hat man ein login auch wieder nicht nötig , frage ist
nur , woher bekomme ich den token :smile:

Also nach „Sinn“ sieht mir all das auch nicht aus. Wenn Du zuverlässig verhindern willst, daß das Rätsel durch mehrmaliges Aufrufen derselben Fragen manipulatorisch besser gelöst wird (dadurch daß die Fragen bekannt sind oder die Antworten geraten werden), dann mußt Du persönliche, individuelle Logins ausgeben: Jeder User kann dann das Rätsel genau einmal durchlaufen. Da nützen keine Sessions noch Token, die ich nicht aus Unkenntnis des Konzepts unerwähnt ließ.

Grüße
-Rob.

1 Like

Schön, dass ich hier für eine rege Dsikussion sorge von der ich nur leider kein Wort verstehe… Session, Token, wat is!? ;o)

Ich hab mir jetzt überlegt, dass ich zusätzlich zu den richtigen „Wegen“ einfach ein paar flasche Links einbaue, die die Leute wieder zurück zum Anfang führen, damit wäre mein ursprüngliches Problem gelöst. Dachte ich jedenfalls, denn dieser schäbige Mouse over Effekt macht das natürlich alles zunichte wenn bei drei Bildern der Link auf index.html und einmal seite7.html angezeigt wird. http://agis-erzaehlbar.de/raetsel/page2.html

Moin,

Schön, dass ich hier für eine rege Dsikussion sorge von der
ich nur leider kein Wort verstehe… Session, Token, wat is!?

Dafür gibts ja zum Glück Suchmaschinen oder Wikipedia u.ä.

Ich hab mir jetzt überlegt, dass ich zusätzlich zu den
richtigen „Wegen“ einfach ein paar flasche Links einbaue

Das heißt, Du wagst Dich an ein Programmierprojekt, ohne programmieren zu können. Dazu gehört mehr, als nur die Syntax einzuhalten. Man muss auch Lösungswege entwickeln können und Problemsituationen verarbeiten können.

Du hast in den Antworten Begriffe gehört, die Du nicht verstanden hast, nachgeschlagen hast Du sie aber anscheinend auch nicht. In den Antworten ist die Lösung für Dein Problem enthalten, Du verstehst sie nicht - was nicht weiter schlimm ist -, fragst aber auch nicht nach und unternimmst nichts, sie doch zu verstehen. Aber nur so kommst Du an eine Lösung für Dein Problem.

Die Kurzfassung: Du musst Dir merken, wo der Spieler steckt und so dafür sorgen, dass wenn der Nutzer den Zurück-Button nutzt (was Du ihm nicht verbieten kannst), er auf der alten Seite mindestens eine Fehlermeldung bekommt, dass er nicht von hier aus weiter laufen kann, weil er schon woanders ist.

Solche Zustände könntest Du in einer Session codieren und Dein Problem wäre gelöst. Also ist doch die erste Aktion, dass Du Dich nach Sessions umsiehst und versuchst, diese zu verstehen. Wenn dann noch Fragen sind, erklärt man Dir hier sicher gerne alles Weitere.

denn
dieser schäbige Mouse over Effekt macht das natürlich alles
zunichte

Ja, so ist das halt. Das zeigt aber, dass Dein Lösungsansatz der falsche ist. Du musst Lösungen entwickeln, die die natürlichen Funktionen des Browsers für den Spieler nutzlos machen.

Kann man das denn wenigstens irgendwie einfach
unterbinden

Nein.

damit wäre mir ja schon geholfen, glaube ich…

Nein. Um mal in Deinem Spiel zu sprechen: Du hast vor einigen Fragen eine falsche Antwort gegeben und bist jetzt auf einem Weg, der nicht zum Ziel führt.

Das Ganze soll auch nur ein kurzes Vergnügen über zehn Seiten
sein und ich hänge da jetzt schon zwei Tage dran, also
irgendwie hab ich mir das leichter vorgestellt, Mist.

Tja. Willkommen in der Welt der Programmierung. Du musst noch viel lernen, bevor Du ein „kurzes Vergnügen“ in weniger als zwei Tagen umsetzen kannst. Keine Ahnung, wer Dir den Floh ins Ohr gesetzt hat, das wäre alles ganz simpel.

Also verwirf das Projekt oder tauche in die anderen Antworten ein und löse Dein Problem mit Sessions.

Liebe Grüße,
-Efchen

1 Like

Hallo ,
Als erstes wäre die Frage , wo setzt Du das ganze ein ?
Dann wäre die Frage , ob Du einen Server mit PHP hast ?

Wenn du erstens das online einsetzen willst und zweitens einen
webspace hast der php kann , dann wäre mein gerüst eigentlich schon die Lösung.

Wenn Du nun wissen willst wie Du das benutzt . Dann könnte Ich es noch einmal vollständig Dokumentieren .

Aber in jedem Fall , solltest Du Programmieren lernen , denn ohne das kommst du nicht zum Ziel .

Hallo,

müsste gehen, indem du ein unsichtbares IFrame einbaust und so fütterst, dass ein Klick auf den Zurückbutton nur den IFrame-Inhalt zurückblättert.

Schöne Grüße,

Mohamed.