|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Lau Asylum Inscription : mars 2010 Messages : 169 ![]() |
Bonjour à tous/toutes,
Voilà, j'aimerai parler un peu des possibilités du JQuery. Mon raisonnement est le suivant : imaginons un site de jeux développés en JS, bon. Le joueur débute avec ses statistiques, ses points etc. Qu'est-ce qui empêche ce joueur d'utiliser un plugin tel que FireBug pour modifier le code JS et, par exemple, gagner la partie, s'ajouter des points etc? Bref, modifier des champs afin de les renvoyer au serveur, qui va enregistrer les points piratés.. Voilà, je me posais la question, est-ce une technologie adaptée pour l'utiliser en ce sens? L'ActionScript est-il plus adapté à ce niveau, échange de données entre le client et le serveur? Merci de participer à cette discussion.
__________________
C'est à ... que vous ... le plus de mystères. |
|
|
00
|
|
|
#2 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 069 ![]() |
personne n'a jamais dit que javascript était sur ...
Bien au contraire !!!
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#3 |
![]() ![]() Daniel HagnoulÉtudiant perpétuel Inscription : février 2009 Messages : 3 221 ![]() |
Bonsoir
Les outils du développeur permettent de modifier uniquement la version locale. Avant d'envoyer des informations au serveur, il doit toujours y avoir des contrôles de vraisemblance coté JS, mais les contrôles sérieux doivent se trouver côté serveur. Il faut toujours prendre ce qui arrive du "client" avec beaucoup de prudence. Un jeu se déroule par étape et pour franchir chaque étape certaines conditions doivent être remplies et chaque étape nécessite une durée minimale de jeu. Il est donc assez facile de contrôler la vraisemblance à chaque étape, tant sur le client que sur le serveur.
__________________
FAQ jQuery Mon cahier d’exercices sur jQuery & CoSi un message vous a aidé ou vous semble pertinent, votez pour lui ! ![]() |
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Lau Asylum Inscription : mars 2010 Messages : 169 ![]() |
Merci pour vos réponses.
Et entre cette solution qui est de vérifier les conditions du joueur, qu'ils ne dépassent pas les possibilités du jeu, et les possibilités avec l'AS/Flash, est-ce que le Flash est plus sûr de ce côté? Qu'en pensez-vous?
__________________
C'est à ... que vous ... le plus de mystères. |
|
|
00
|
|
|
#5 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 069 ![]() |
AS est également coté client ...
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Autodidacte Inscription : juillet 2006 Messages : 140 ![]() |
L'avantage de l'AS c'est avant tout de pouvoir gérer "facilement" clavier et animations non ?
Je projete de faire un portail de jeux (site basé entèrement sur ajax) et n'ayant pas de connaissance en AS je compte aussi passer par le js pour offrir aux joueurs une certaine ergonomie (gestion des touches, sourie, animations à la pelle). Ma question va sûrement paraitre stupide mais... un joueur peut modifier des valeurs en mémoire ? |
|
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Lau Asylum Inscription : mars 2010 Messages : 169 ![]() |
D'accord, ce qui implique que l'application pourrait être modifiée par le client et renvoyer au serveur des données compromises.
Hmmm intéressant. Ce que je vais faire; tester les deux possibilités, voir laquelle des deux me convient le mieux niveau communication avec le serveur et, bien sûr, l'implémentation de la sécurité pour chacune. Je choisirai ensuite. Si des membres ont des ressources qui pourraient être susceptibles d'améliorer la qualité de développement sur ces supports, je suis preneur bien entendu.
__________________
C'est à ... que vous ... le plus de mystères. |
|
|
00
|
|
|
#8 |
|
Nouveau Membre du Club
![]() Lau Asylum Inscription : mars 2010 Messages : 169 ![]() |
Squalthor,
si tu browse via Firefox, tu peux essayer d'installer le plugin "Firebug" qui permet de parcourir et de modifier les éléments d'une page, le code JS, CSS et même HTML. Mais comme l'a dit daniel, c'est une copie locale qui est modifiée, en aucun cas un autre client ne pourra obtenir le résultat, que tu auras créé, dans son navigateur. Donc, le problème que je voulais évoquer se trouve bien au niveau du serveur recevant les paramètres du client. Il doit vérifier de manière efficace que le jeu s'est déroulé correctement, et qu'il a abouti à une fin d'exécution prévue, avant de mettre à jour les données de l'utilisateur, comme le score. Je prends un exemple, imagines un jeu de puzzle, le but est de modifier les emplacements des parties pour qu'elles reforment l'image de base. Imagines qu'une variables JS contienne un indice qui vaut 0 quand le puzzle n'est pas terminé et 1 quand il est complet. Imagines que cet index soit envoyé au serveur à 1 dés le début de partie, le serveur reçoit l'index qui lui informe que le joueur à réussi et il lui augmente ses points. Comme le suggérait Daniel, un scheduler pourrait être le bienvenu pour vérifier que le joueur n'a pas triché. Imaginons un autre exemple, un jeu qui décompte des points gagnés suivant ... hmmm ... un nombre de blocs détruits par exemple! Si ce nombre de points est stocké dans un variable JS, le joueur peut modifier ce nombre et le renvoyer au serveur. Le serveur reçoit le nombre (9999999) et hop le joueur est le premier du classement! Fin voilà, c'est l'intuition qui m'a poussé à venir poster dans le forum. C'est juste que beaucoup de jeux, développés en Flash, m'ont l'air plus "sécurisé" dans le sens où les interactions ont l'air "encadrées" par le langage.
__________________
C'est à ... que vous ... le plus de mystères. |
|
|
00
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Autodidacte Inscription : juillet 2006 Messages : 140 ![]() |
Bonjour Arkham55.
Cette discution m'intérresse d'autant plus que je suis en train de coder un site entièrement en Ajax. Donc je dois être bien attentif à la sécurité du site. J'utilise également Firebug, mais après brièvement cherché je n'ai rien vu qui me permettais de modifier le code javascript... j'ai mal regardé ? Je suis un amateur, donc il est sûr que je ne cerne pas tout ce que ça peut englober... Par contre effectivement je pars du principe que la sécurité de base se trouve dans les contrôles php. Enfin, mon projet n'est et ne sera probablement jamais terminé... Mais c'est très intérressant dans le principe ! |
|
|
00
|
|
|
#10 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 069 ![]() |
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#11 |
|
Nouveau Membre du Club
![]() Autodidacte Inscription : juillet 2006 Messages : 140 ![]() |
Très mal regardé même...
Bon effectivement, traiter des variables sur le client est vraiment dangereux... Pour ma part j'avais anticipé ceci, ouf ! Donc je m'auto-répond, quand même: on peut modifier les variables en mémoire avec Firebug... Pour un jeu en js il faut donc rester sur l'action js avec vérification php. |
|
|
00
|
|
|
#12 |
![]() ![]() Daniel HagnoulÉtudiant perpétuel Inscription : février 2009 Messages : 3 221 ![]() |
Bonsoir
À toutes fins utiles, je vous rappelle l'existence des forums dédiés aux Jeux. Voir http://www.developpez.net/forums/f66...nt-2d-3d-jeux/.
__________________
FAQ jQuery Mon cahier d’exercices sur jQuery & CoSi un message vous a aidé ou vous semble pertinent, votez pour lui ! ![]() |
|
00
|
|
|
#13 |
|
Nouveau Membre du Club
![]() Lau Asylum Inscription : mars 2010 Messages : 169 ![]() |
Oh super, j'avais pas connaissance de cette partie des forums! Merci Daniel ^^
Mais pour rester dans le JQuery, je n'ai que quelques notions d'ajax et je me renseigne sur les bonnes pratiques. L'objet ajax permet de faire des XMLhttpRequest, l'intuition, comme je l'ai comrpise, est d'envoyer des messages/demandes/fichiers xml au serveur, d'attendre sa réponse (le site n'est pas bloqué durant ce laps de temps, libre choix au développeur je suppose) et de traiter sa réponse dans le navigateur client, dans le code JS, et d'afficher le résultat (s'il y en a) afin de ne pas devoir charger toute la page. Cela permettrait, à l'aide d'un bouton par exemple, de demander au serveur d'effectuer une action dans la BD, sans pour autant charger la page, mais une petite partie qui affichera un résultat suivant la réponse du serveur. Les fichiers XML servent à l'envoi d'informations très rapidement (cela peut même être de simples fichiers textes à ce que j'ai lu) entre client et serveur. On peut donc imaginer que le client envoi une demande au serveur, qui la reçoit la traite et la renvoie, pendant ce laps de temps, la page affiche au client quelque chose comme une petite image de chargement. De manière asynchrone, pour un site, c'est très avantageux =) Oula brainstorming les amis! ^^
__________________
C'est à ... que vous ... le plus de mystères. |
|
|
00
|
|
|
#14 |
![]() ![]() Daniel HagnoulÉtudiant perpétuel Inscription : février 2009 Messages : 3 221 ![]() |
Bonsoir
Avant toute chose, si vous voulez vraiment utiliser jQuery, je vous conseille la lecture de la FAQ jQuery. Vous y trouverez certainement quelques réponses à vos questions. Vu votre intérêt pour AJAX, je vous conseille de commencer par les chapitres "introduction" et "requête ajax". Rendre une action synchrone, AJAX ou autre, c'est bloquer la page web et mécontenter l'utilisateur dans 99 % des cas.
__________________
FAQ jQuery Mon cahier d’exercices sur jQuery & CoSi un message vous a aidé ou vous semble pertinent, votez pour lui ! ![]() |
|
00
|
|
|
#15 |
|
Nouveau Membre du Club
![]() Lau Asylum Inscription : mars 2010 Messages : 169 ![]() |
Tu n’exagères pas un peu? Dans le cas d'un jeu, il y a toujours des chargements, c'est normal quand même que les ressources mettent du temps à être téléchargées. Merci encore.
__________________
C'est à ... que vous ... le plus de mystères. |
|
|
00
|
|
|
#16 |
![]() ![]() Daniel HagnoulÉtudiant perpétuel Inscription : février 2009 Messages : 3 221 ![]() |
On peut toujours demander à l'utilisateur d'attendre avec un GIF animé, mais par expérience il ne faut pas plus de 5 secondes avant que 50 % aille voir ailleurs. Si l'utilisateur voit que le page se construit devant ses yeux, s'il a quelque chose à lire ou quelque chose à faire, alors il prend patience une quinzaine de secondes.
__________________
FAQ jQuery Mon cahier d’exercices sur jQuery & CoSi un message vous a aidé ou vous semble pertinent, votez pour lui ! ![]() |
|
00
|
|
|
#17 |
|
Nouveau Membre du Club
![]() Lau Asylum Inscription : mars 2010 Messages : 169 ![]() |
Oui tes statistiques sont bonnes, tu as raison. Mais c'est sûr qu'il ne pourra pas attendre 5 minutes à ne rien faire, c'est vrai..
Merci encore pour les ressources partagées.
__________________
C'est à ... que vous ... le plus de mystères. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com