Klawischnigg: Highscore aus Flash fälschungssicher an PHP übergeben

Beitrag lesen

Hi there,

wie allseits bekannt sein dürfte: ich hab' von Flash nicht viel Ahnung, aber ein Problem, dass es zu lösen gilt.

Dein Problem dürft' allgemeinerer Natur sein.

Aus eine Flash-Spiel soll ein Highscore übergeben werden - wie mache ich das am besten?

du rufst eine URL auf und hängst den Highscore hinten dran;)

Probleme:
Wie verhindere ich, dass der Score gefälscht werden kann (wenn das Flash einfach ein Script aufruft und den Score per GET übergibt). Verschlüsseln ist klar - aber wie? Welchen Algorithmus kann man dafür verwenden sodass das ganze in PHP auch wieder entschlüsselt werden kann?

is eigentlich egal, ich hab mir da irgendwann einmal etwas gebaut, das ziemlich sprachen-neutral ist, sich selbst verschlüsselt und auch noch eine Prüfsumme einbaut. Ich meine, nachbauen kann man alles, die Frage ist halt immer, mit welchem Aufwand.

Taugt ein asymetrischer Algorithmus etwas - unter der Voraussetzung, dass der Schlüssel lang genug ist und geheimgehalten wird, oder kann man dann einfach das Flash dekompilieren und kommt ran?

soweit mir ein Flashguru (;) einmal versichert hat, ist es nicht einfach, aber durchaus zu bewerkstelligen, den Flashsource einigermaßen wiederherzustellen. Ich persönlich versteh' von Flash vermutlich noch weniger als Du;)

Die zweite Frage - wie verhindere ich am besten, dass ein Highscore 2x beansprucht wird. d.h., wie mache ich im Flash den Score eindeutig (der Benutzername wird erst später beim Verspeichern im PHP-Script bestimmt)?

Datum und Uhrzeit der Hightscoregenerierung in den Score einfliessen lassen. Dein PHP-Skript muss das dann halt aufdröseln.

Meine Überlegung: eine Zeit und IP-Adresse mit übergeben, aber wie komme ich im Flash an die IP? Und was passiert, wenn 2 Leute zur selben Zeit mit derselben IP einen Highscore erreichen? Ist das vernachlässigbar?

Wenn Du Microsekunden berücksichtigst kannst Du das imho komplett ignorieren. Ich würd sogar die IP ignorieren. Und wenn - ich nehm' einmal an, Du steuerst mit Deinem Highscore kein Kernkraftwerk, oder?