Ajax
Hodi
- javascript
Guten Abend liebe Gemeinde,
bräuchte mal kurz einen Rat. Ich entwickle gerade ein Online-Spiel, welches clientseitig im Browser abläuft und dessen jeweiliges Spielergebnis nach GAME OVER automatisch per Ajax an einen Server übermittelt wird. Anfänglich werden gewissen Spieldaten (Charakterdaten, Teamdaten, Map, Ligawerte, etc) aus einer DB geladen. Aus diesen Daten wird das Javascript-Programm zumindest partiell zusammengebaut und dann an den Client gesendet. Der Client selbst ist in keinerweise authentifiziert, er ist also anonym. Im Spiel gibt es keine Möglichkeit der Interaktion, das Programm läuft also nur vor Augen des Users ab. (Später wird ein Wettsystem implementiert werden). Es ist also eine Art Ligaspiel.
Es werden im Spielverlauf, der zufallsgesteuert abläuft, verschiedene Variablen mit Werten belegt. Z.b.
a=3
p=3334.3
c=43.3
..
und dann _nach_ Spielende per AJAX-REQUEST an den entsprechenden Server gesendet.
Das Problem an der ganzen Sache ist natürlich, dass das Spielergebnis resp. die anschliessende Datenübermittlung nicht fälschungssicher ist. Potentielle Cracker/Hacker könnten problemlos das Ergebnis fälschen und den REQUEST z.B. manuell absenden.
Anhand verschiedener Zeitfensters oder irgendeiner Session könnte man zumindest den potentiellen Schaden begrenzen, aber nicht gänzlich verhindern.
Was könnte man noch unternehmen, um den Mißbrauch etwas einzudämmen?
Gruß
Hodi
Hi,
Das Problem an der ganzen Sache ist natürlich, dass das Spielergebnis resp. die anschliessende Datenübermittlung nicht fälschungssicher ist. Potentielle Cracker/Hacker könnten problemlos das Ergebnis fälschen und den REQUEST z.B. manuell absenden.
Was könnte man noch unternehmen, um den Mißbrauch etwas einzudämmen?
Mit einer offen einsehbaren, clientseitigen Technik wie JavaScript - gar nichts.
MfG ChrisB
Hi,
Was könnte man noch unternehmen, um den Mißbrauch etwas einzudämmen?
Mit einer offen einsehbaren, clientseitigen Technik wie JavaScript - gar nichts.
sehe ich genauso. Das ist natürlich ein Problem. Ich werde um eine Authentifizierung und eine Art Ticketsystem nicht umhinkommen. Bei Unregelmäßigkeiten wird das entsprechende Konto gesperrt.
Hodi
moin,
Mit einer offen einsehbaren, clientseitigen Technik wie JavaScript - gar nichts.
Genauso isses. Es gäbe jedoch die Möglichkeit, die Komunikation zwischen UA und Server über ein Applet abzuwickeln, die ist dann nur noch per tcpdump durchschaubar, sofern das nicht über ein secure socket läuft. Auf jeden Fall braucht es eine Beziehung zum Endgerät, also eine Session und der Aufbau einer Solchen darf nur an der Startposition des Spiels möglich sein.
Viele Grüße,
Horst Appledt
Hi!
Mit einer offen einsehbaren, clientseitigen Technik wie JavaScript - gar nichts.
Genauso isses. Es gäbe jedoch die Möglichkeit, die Komunikation zwischen UA und Server über ein Applet abzuwickeln, die ist dann nur noch per tcpdump durchschaubar, sofern das nicht über ein secure socket läuft.
Was nützt eine verschlüsselte/verschleierte Übertragung, wenn man während des Spieles sowie bevor das Applet übernimmt, mit Firebug munter und fröhlich Javascript-Gegebenheiten manipulieren kann?
Lo!
hi,
Was nützt eine verschlüsselte/verschleierte Übertragung, wenn man während des Spieles sowie bevor das Applet übernimmt, mit Firebug munter und fröhlich Javascript-Gegebenheiten manipulieren kann?
Gar nichts. Das ganze Spiel muss als Applet laufen und das Applet kommuniziert mit dem Server.
Hotti