25-03-2010, 03:16 PM
Je ne suis pas un expert mais comme je suis là tout de suite je tente un début de réponse. Effectivement, tout joueur peut appeler l'adresse qu'il veut et passer les paramètres qu'il veut. C'est un peu comme s'il jouait en ligne de commande, c'est pas anormal. C'est ton serveur qui doit déterminer si les actions demandées et les paramètres passés sont valides ou non.
Par exemple si tu laisses le client faire les calculs et passer un paramètre "&or=500", qui aurait pour effet de mettre le stock d'or du joueur à 500 sans aucune vérification, alors là ce n'est effectivement pas sécurisé.
Par contre, si tu passes un paramètre "&mode=retirerbanque&or=500", là c'est valide, car tu demandes au serveur de retirer de l'or de la banque et tu lui donnes le montant souhaité. C'est alors à ton script php de vérifier que le joueur en question a bien 500 or sur son compte. Dans le cas contraire, soit il refuse le retrait, soit il retire ce qu'il peut.
Comme d'hab: "Ne jamais faire confiance au client".
Peut-être que tu devrais préciser un peu ce que permet ton code, et pour les autres, merci de me corriger si j'ai dit des âneries.
Par exemple si tu laisses le client faire les calculs et passer un paramètre "&or=500", qui aurait pour effet de mettre le stock d'or du joueur à 500 sans aucune vérification, alors là ce n'est effectivement pas sécurisé.
Par contre, si tu passes un paramètre "&mode=retirerbanque&or=500", là c'est valide, car tu demandes au serveur de retirer de l'or de la banque et tu lui donnes le montant souhaité. C'est alors à ton script php de vérifier que le joueur en question a bien 500 or sur son compte. Dans le cas contraire, soit il refuse le retrait, soit il retire ce qu'il peut.
Comme d'hab: "Ne jamais faire confiance au client".
Peut-être que tu devrais préciser un peu ce que permet ton code, et pour les autres, merci de me corriger si j'ai dit des âneries.