verhindern, dass ein user zurück gehen kann
Korinna
- javascript
Hallo Leute!
ich möchte verhindern, dass ein User ab einem bestimmten Punkt zurück gehen kann. Wie realisiere ich das? History löschen? Den Knopf enablen?
Bitte helft mir.
Ciao Korinna
Hi,
ich möchte verhindern, dass ein User ab einem bestimmten Punkt zurück gehen kann. Wie realisiere ich das? History löschen? Den Knopf enablen?
Gibt es dazu einen Grund? Ohne Angabe von Gründen könnte man meinen Du willst die Rechte Deiner User beschneiden und ich glaube dass mögen die nicht!
Du musst den zurück-Button nicht sperren, es gibt auf jeden Fall eine bessere Lösung.
Sag uns einfach, was Du machen willst!
ciao
romy
Hi,
Gibt es dazu einen Grund? Ohne Angabe von Gründen könnte man meinen Du willst die Rechte Deiner User beschneiden und ich glaube dass mögen die nicht!
Du musst den zurück-Button nicht sperren, es gibt auf jeden Fall eine bessere Lösung.
Sag uns einfach, was Du machen willst!
ich habe nichts böses mit den Usern vor. Ich scheine nur zu dumm zum Programmieren sein. Ich habe ein php-Script geschrieben, in dem sich User einloggen können und verschiedene Dinge veranstalten können. Ich arbeite mit Sessions und beim Logout lösche ich die Session wieder, aber wenn ich zurück gehe, dann habe ich die ganzen Daten wieder. Also muss ich verhindern, dass die Leute zurück gehen können.
Das ist alles.
Ciao Korinna
Hi,
Ich scheine nur zu dumm zum Programmieren sein.
Nein Nein, Unwissenheit != Dummheit ;)
Wenn Du die Session zerstörst, sind die Daten auch nicht mehr da. Vielleicht kannst Du auf die Seite zurückgehen, aber es dürften die Sessionvariablen nicht mehr vorhanden sein.
Eine mögliche Lösung ist zB. das Script dass den Loginbereich anzeigt in einer if-else-Anweisung zuhaben.
Wenn login und Passwort gesetzt, dann zeige an, sonst Fehlermeldung
Um zu prüfen ob die Daten wirklich zerstört wurden, gib sie doch mal aus? Ich glaube nicht, dass sie da sind, aber die vorhergehende Seite ist noch da.
hilft das?
ciao
romy
Hi,
ich hab geschaut und nach dem destroy der Session sind alle Daten gelöscht und auch das Cookie, aber wenn ich zurück gehe, nimmt er die per POST gesendeten Daten wieder auf und alle Daten und das Cookie sind wieder da.
Was tun sprach Zeus?
Ciao Korinna
Hi,
Was tun sprach Zeus?
ich vermute, dass auf der loginscriptseite ein session_start() steht??? Dies nimmt die Session nämlich wieder auf, auch deswegen spricht es für eine if-else-Anweisung auf allen Seiten, die ohne Login nicht erreichbar sein dürfen.
Dort kannst Du das session_start() nur in den true-Bereich legen
ciao
romy
Hi,
So sieht mein Code auf der Einloggleiste jetzt aus:
"<?php
if (isset($_POST["Uname"]))
{
session_start();
if (empty($PHPSESSID))
{
$PHPSESSID = session_id();
}
}
elseif (isset ($_SESSION["Uname"]))
session_destroy();
?>"
, aber das Phänomen besteht trotzdem. Was mache ich falsch?
Hi,
"<?php
if (isset($_POST["Uname"]))
{
session_start();
if (empty($PHPSESSID))
{
$PHPSESSID = session_id();
}
}
elseif (isset ($_SESSION["Uname"]))
session_destroy();
?>"
Ehrlich gesagt, versteh ich nicht ganz, was dein Code bezweckt. Zuerst prüfst Du ob das Login mit Post übergeben wurde, dann startest Du die session bzw. nimmst sie wieder auf, prüfst ob die Variable PHPSESSID gesetzt wurde. Wenn dein Login nicht mit Post übergeben wurde prüfst Du ob es in der Session steht, wenn ja zerstörst Du die Session. Soll das so sein?
Ich dachte eher an sowas:
einlog.php: enthält loginformular und leitet an intern.php weiter...
in intern.php steht
if(isset($_SESSION["login"])) { //gesamter code }
else { //fehlermeldung }
in deinem gesamten Code gibt es irgendwo einen Link mit ausloggen. Dieser leitet an eine weiter Seite auslog.php weiter und löst dort das session_destroy aus. wenn jetzt jemand rückwärts geht ist die Session zerstört und er bekommt nur die Fehlermeldung.
ciao
romy
Hallo Leute!
ich möchte verhindern, dass ein User ab einem bestimmten Punkt zurück gehen kann. Wie realisiere ich das? History löschen? Den Knopf enablen?
Das geht nicht.
Das Problem liegt in deiner Anwendung.
Du musst bei CGI Programmen immer mit dem schlimmsten rechnen. Das soll heißen, du kannst dir nie sicher sein, das die Daten so ankommen wie du es erwartest, das die Daten nicht manipuliert wurden oder das Daten ungültig geworden sind z.b. weil der User wieder zurück ging.
Du musst also alle Möglichkeiten erfassen abfragen und entsprechend reagieren. In deinem Falle muss einerseits die ungültig ID irgendwann (Timeout) automatisch gelöscht werden und der User sich halt erneut einloggen, falls er nicht wieder nach vorne geht.
Du kannst aber auch z.b. mit Cookies arbeiten die bleiben erhalten, insofern ist das "zurück gehen" nicht so schlimm.
Aber auf keinen Fall kannst du irgendwas beim Benutzer verändern um mangelnde Sicherheit zu bekämpfen.
Struppi.