Hiho,
ich stehe gerade vor folgendem Problem. Ich habe ein kleines Onlinespiel gebastelt und ein Teil dieses Spieles ist das man in einer Reihe von Zahlen tippen muss ob die jeweils nachfolgende höher oder niedriger sein wird. Wenn man das mehrmals richtig gemacht hat bekommt man weitere Punkte für das eigentlich Spiel. Soweit so gut. Nun ist heute der erste Fall von Betrügereien aufgetreten indem ein Nutzer sich ein PHP Script geschrieben hat das dies automatisch macht. Damit sowas in Zukunft nicht mehr passiert überlege ich zur Zeit wie ich die gerade angezeigte Zahl verschleiern kann. Im Moment heissen die Dinger noch 1.gif, 2.gif usw. - das ist natürlich leicht auszuwerten. Ich brauche also eine Methode mit der man von dem Dateinamen nicht mehr auf die Zahl schliessen kann. Mein bisheriger Versuch sah folgendermassen aus:
Zufällig wird für den User in der Session eine codierung für die auszugebenden Zahlen erstellt (also kjdadsk = 1, odsadkas = 2 usw.) Diese Codierung wird an ein weiteres PHP Script übergeben das auch Zugriff auf die Session hat und somit auswerten kann welche Zahl nun angezeigt werden soll. Die entsprechende Grafik wird dann abgerufen und per fpassthru ausgegeben.
Das funktioniert in der Theorie recht gut, in der Praxis schaffen es aber weder Mozilla noch der IE die Anweisung:
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache"); header("Content-Type: image/gif");
richtig auszuführen und nicht zu cachen sondern es wird ab und zu immer wieder eine falsche Grafik angezeigt. Nun bin ich auch nicht ganz zufrieden mit dem Status das nicht gecached wird, denn das heisst höhere Traffic Kosten für mich.
Hat irgendwer von euch eine Idee wie ich dieses dilemma lösen kann?
Marc