2013-03-28 3 views
-1

J'ai besoin de construire un jeu basé sur le Web (html/js) où l'utilisateur gagne/marque des points. A la fin du jeu, l'utilisateur entre ses coordonnées sur un formulaire et celui-ci, avec son score, est soumis au serveur (via ajax post) pour être stocké dans une base de données.Comment empêcher le piratage d'un jeu basé sur le Web?

Il existe un tableau de classement et un prix basé sur le classement des points.

Ma question est, comment puis-je empêcher les utilisateurs de piratage de ce jeu? Je pense que quelqu'un pourrait facilement modifier les valeurs de points/score en cours de publication sur le serveur en utilisant les outils de développement du navigateur ou un proxy web comme un violoniste. Le prix pour cela est assez décent, alors ça vaudrait la peine que quelqu'un essaie de le pirater.

Im la recherche d'une solution solide à cela, et non pas seulement quelques-uns « rendre plus difficile à pirater » répondre

+0

essayer de le rendre partiellement Serverside –

+4

Je ne vois pas comment cette question est responsable dans un Q & un paramètre, étant donné qu'il ya un nombre illimité de vecteurs d'attaque possibles. –

+0

Si le jeu tourne sur le client, il n'y a pas de vraie solution, seulement la sécurité par l'obscurité. – nwellnhof

Répondre

3

Vous devez écrire une fonction qui envoie le joueur se déplace sur le serveur tout au long de la partie. Ensuite, sur le serveur, vous devez vérifier si le déplacement était possible.

Vous devez aussi garder une trace du score du jeu tout au long du jeu et à la fin du jeu assurez-vous que les valeurs soumises ne sont pas beaucoup plus élevées que vos valeurs enregistrées. Vous devriez permettre une certaine tolérance.

Le code actuel est très spécifique au jeu.

Hope this helps

+0

Cela a du sens. Compliqué, cependant. –

+0

Je pense que c'est moins compliqué pour les jeux de stratégie au tour par tour que les jeux en temps réel. Donc, oui, c'est très lié au jeu. –

2

Je ne sais pas quel type de jeu, il est mais vous pouvez ajouter quelque chose qui le rend si vous gagnez un certain montant dans un court laps de temps (ce qui serait impossible à moins de piratage) que vous ne pouvez pas entrer dans un highscore. Et le rendre serveur. Pour faire la limitation de score vous feriez peut-être une fonction à chaque mouvement et si le score est supérieur au maximum possible de gagner en 1 coup, alors il ne vous permet pas d'utiliser les meilleurs scores.

+0

Ouais, limitation de débit. C'est la seule solution à laquelle j'ai pensé qui semble viable. –

Questions connexes