01-09-2009, 01:34 AM
Si l'état du combat était enregistré en BDD à chaque étape, ce «hack» de ton jeu serait impossible. Il faudrait que ton script vérifie où en est le joueur avant d'accepter sa requête (était-il en combat à la dernière requête?). Ainsi, même si il tente de revenir sur la page d'avant, ton script saura où en était rendu le combat et ne se laissera pas berner aussi facilement. Ça pourrait être bêtement un champ booléen «en_combat» d'ajouté à chaques perso, couplé à une table qui liste les combats en cours (un champ joueur et un champ monstre). Si le champs «en_combat» est == TRUE, mais que le joueur fait une requête hors contexte tu pourras ignorer cette demande et renvoyer la page de combat au point où il en était rendu.
Je te conseille de réviser comment est conçu ton jeu, car si cette faille est présente ici, elle l'est fort probablement ailleur aussi.
C'est un peu comme si en gagnant un combat, on chargait directement depuis le navigateur la page «victoire.php» qui donne de l'expérience et de l'or. Qu'est-ce qui empêche le joueur de recharger continuellement cette page pour gagner des niveaux et de l'argent sans péril?
Je te conseille de réviser comment est conçu ton jeu, car si cette faille est présente ici, elle l'est fort probablement ailleur aussi.
C'est un peu comme si en gagnant un combat, on chargait directement depuis le navigateur la page «victoire.php» qui donne de l'expérience et de l'or. Qu'est-ce qui empêche le joueur de recharger continuellement cette page pour gagner des niveaux et de l'argent sans péril?