Beim Umgang mit Sicherheit müssen Sie immer definieren, was sicher ist. Wenn Sie eine Glücksspielwebsite betreiben, kann Ihre örtliche Glücksspielkommission hier ein Mitspracherecht haben. Wenn Sie nur ein Multiplayer-Spiel zum Spaß betreiben, können Sie mit Ihrer Definition lockerer sein (vorausgesetzt, gelegentliche Betrugsversuche werden den Tag nicht ruinieren).
Im Allgemeinen, wenn Sie vollständig verhindern wollen, dass der Endbenutzer mit dem Gameplay interferieren kann, muss die ganze wirkliche Arbeit auf einem Server sein, den Sie steuern. Dies bedeutet PHP, Ruby, Perl, Python, Java etc ... Mit einem Flash, Javascript oder HTML5 Frontend, das Sie annehmen müssen, können nicht vertrauenswürdige Daten erzeugt werden, selbst wenn es perfekt verarbeitet ist.
Um den Effekt zu minimieren, dass ein böswilliger Spieler speziell manipulierte gefälschte Daten an den Server sendet, sollten Sie eine serverseitige Sprache verwenden, die die Überprüfung der Puffergröße/-grenzen und die Bereinigung von Eingabeparametern übernimmt. Ich benutze PHP sehr viel, es behandelt Grenzen automatisch, wie die meisten Skriptsprachen. PHP bereinigt Daten, die auf der Client-Seite eingegeben wurden, nicht automatisch, hat aber gute Werkzeuge zur Zeichenfolgenbearbeitung, so dass ich es selbst machen kann. Achten Sie darauf, Apostrophe, HTML-Tags und JavaScript zu behandeln, die ein Benutzer eingeben kann, um Sql-Injektion (http://en.wikipedia.org/wiki/SQL_injection) und Cross Sight-Scripting-Angriffe (http://en.wikipedia.org/wiki/Cross-site_scripting) zu verhindern. Das Konvertieren von allen, <,> in Zeichencodes ist ein guter Anfang, aber Sie sollten das Thema gründlich recherchieren. Um Cross-Site-Scripting-Angriffen zu helfen, sollten Sie Anforderungen ignorieren, die von anderen Domänennamen kommen, es sei denn, Sie müssen etwas anderes tun.
Wie bei allen Programmierproblemen, denken Sie sorgfältig durch und testen Sie so viel wie möglich mit so vielen verschiedenen Daten wie möglich.