2010-04-25 4 views
0

Je veux créer un jeu basé sur un navigateur et j'ai un énorme problème, le jeu peut être facilement piraté. Le problème est à une page où vous pouvez aller à "travailler", je stocke dans un fichier la date de fin de travail et le montant d'argent que vous recevrez après avoir terminé le travail. Il y a 4 types de travaux. Le problème est que j'utilise ajax pour envoyer à un fichier php les informations nécessaires. L'URL ressemble à ceci: x.php? Date = .... & pay = .... La partie javascript de la page calcule la date et le salaire mais si vous entrez simplement dans votre barre d'URL x.php? Date = anynumber & payer = 99999, vous recevrez 99999 dollars. Que devrais-je faire ? Et désolé pour mon mauvais anglais :)Problème de sécurité Ajax

+0

AJAX est intrinsèquement un problème de sécurité. Si la sécurité était une exigence, vous ne l'utiliseriez pas. La sécurité est simple dans le sens où vous développez soit avec la sécurité à l'esprit, soit vous ne le faites pas. –

+2

@Austin - Je ne suis pas d'accord. AJAX n'est ni plus ni moins sécurisé que le HTTP simple. AJAX ** peut ** être sécurisé, il n'y a rien de magique à ce sujet. –

+0

Correct, HTTP est comme sage par nature non sécurisé. Si vous vouliez la sécurité, vous n'utiliseriez pas HTTP non plus. AJAX ouvre une balise à n'importe quel endroit, indépendamment de la session ou de l'origine, ce qui est la nature même de l'insécurité. –

Répondre

1

Vous ne devez pas envoyer la date de fin et le montant du client (navigateur). Au lieu de cela, envoyez simplement le type de travail: x.php? Worktype = ...

Dans le fichier PHP côté serveur, vous lisez le type de travail, puis recherchez ou calculez la date de fin et la quantité si nécessaire.

Si vous souhaitez en savoir plus sur la sécurité dans les applications ajax, je peux également vous recommander le livre "Ajax Security" de Hoffman and Sullivan.

+0

Merci, je pense que cela va fonctionner – coolboycsaba

0

Lorsque l'utilisateur interagit dans votre jeu pour aller au «travail» stocker les valeurs dans un serveur de base de données côté.

+0

Les valeurs sont stockées dans un fichier sur le serveur, chaque joueur a son propre fichier – coolboycsaba

+0

Ensuite, ne pas passer les paramètres dans l'URL, utilisez une valeur dans votre session utilisateur et utilisez cette dans votre PHP pour rechercher le fichier pour votre utilisateur et récupérer des valeurs à partir de là. –