Toeb: Reload-Sperre

Beitrag lesen

Hallo zusammen und einen schönen Sonntag,

ich stehe vor einem Problem. Und zwar möchte ich eine Seite erstellen, auf der die Benutzer alles mögliche separat auswählen können, aber jeweils nur einmal. D.h. hat der Benutzer eine Sache bestätigt und versucht dies noch einmal, muss eine Meldung kommen in der Art "Du kannst nicht zweimal bestätigen".

Erst dachte ich an eine IP-Sperre, die ich auch schon hatte, aber dann ist mir eingefallen, dass alle diejenigen, die hinter einem Proxy sitzen und mehrere Personen, die über einen Router gehen ein Problem haben.

Also fällt IP Sperre schon einmal weg. Dann dachte ich an Sessions. Da es aber auf der Seite viele Sachen zum "einmal" klicken geben soll, müsste ich mit Cookies arbeiten, da ich nicht permanent alle möglichen Session-IDs über den Link mitgeben kann. Wenn der Benutzer jetzt keine Cookies zulässt, sieht es wieder schlecht aus.

Kann mir vielleicht jemand helfen und einen möglichen Lösungsansatz nennen, oder besser ein Tutorial?

Hier mal mein Probeweise gebastelter Code, der mit Cookies arbeiten sollte. Ist dieser in dieser Form eigentlich in Ordnung?

  
// Lebensdauer setzen und Session sarten  
session_set_cookie_params(60);  
session_start();  
  
// Überprüfen, ob test1 oder test2 übergeben wurde  
if ( isset($_GET['test1']) )  
{  
	if(!isset($_SESSION['test1']))  
	{  
	   echo "<br />Jetzt wird eine Aktion 1 ausgef&uuml;hrt<br />";  
	   $_SESSION['test1'] = true;  
	} else {  
	   echo "<br />Eine Minute f&uuml;r Test 1 warten<br />";  
	}  
}  
if ( isset($_GET['test2']) )  
{  
	if(!isset($_SESSION['test2']))  
	{  
	   echo "<br />Jetzt wird eine Aktion 2 ausgef&uuml;hrt<br />";  
	   $_SESSION['test2'] = true;  
	} else {  
	   echo "<br />Eine Minute f&uuml;r Test 2 warten<br />";  
	}  
}  
?>  
  
<a href="test.php?test1=t1">Test1</a><br />  
<a href="test.php?test2=t2">Test2</a>  
  

Schonmal vielen Dank im voraus und noch einen schönen Sonntag Abend.
Gruß Tobias