Cacher variable javascript

Fermé
tatan - 21 févr. 2011 à 15:55
 tatan - 21 févr. 2011 à 23:18
Bonjour,
je développe actuellement un jeu de type "motus" sur mon site, le problème est que l'utilisateur peut facilement voir la valeur du mot à trouver grâce à Firebug. Je n'ai trouvé aucun de la masquer...

Auriez vous une astuce?

merci d'avance!
A voir également:

4 réponses

avion-f16 Messages postés 19252 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 10 février 2025 4 505
21 févr. 2011 à 22:11
Salut.

Comme les personnes précédentes l'ont déjà dit, il est impossible de cacher un code Javascript.
Tu peux le compresser (minifier), comme proposer sur le lien du Siteduzero, mais il y a aussi des décompresseurs faisant l'opération inverse.
Tu peux aussi utiliser escape(), mais il y a unescape() qui fait le contraire.
Donc, aucune solution pour cacher le Javascript.

De plus, ce langage ne doit pas être utilisé à tord.
Toutes les vérifications doivent être faites côté serveur !

Imaginons que la variable que tu souhaites masquer contienne un mot qu'il faut deviner via un formulaire. Si on le devine, on gagne du crédit dans le jeu.
En analysant un peu le code, on pourrait facilement trouver la variable utilisée.
En ouvrant la console Javascript, on pourrait ensuite faire une alerte de cette variable (inutile de passer par Firebug).
Et une fois qu'on a le mot, on l'entre et voilà.

Pour éviter ce genre de tricherie, il faudrait générer le mot sur le serveur (en PHP par exemple) et le stocker à un endroit inaccessible par l'utilisateur (en session ou en base de données par exemple). Ensuite, en Javascript, grâce à XHR, tu pourrais vérifier si le mot entré est correcte et tu afficheras un message en fonction de la réponse du serveur (sur le script côté serveur, tu ajoutes l'argent si le mot correspond, et tu t'arranges pour que l'utilisateur ne puisse pas recommencer avec ce mot). Au cas où le JS serait désactivé, alors il suffit d'envoyer simplement le formulaire et de faire le traitement côté serveur.

Personnellement, je n'utilise le Javascript que pour faciliter la navigation ou rendre les pages dynamiques, en modifiant le HTML (DOM-DHTML) et le CSS ou avec AJAX.
1
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
21 févr. 2011 à 15:58
Hum malheuresement je crois que ce n'est pas possible ou presque :
http://www.siteduzero.com/forum-83-413495-p1-cacher-le-javascript-du-code-source.html
0
djflexlive Messages postés 557 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 23 avril 2015 95
21 févr. 2011 à 21:02
Non tu ne pourra pas : javascript est interprété dans le navigateur du visiteur. Il te faut passer par un langage serveur (php ou asp).
0
C'est bien ce qui me semblait....
merci à tous et notamment avion-f16 pour tes explications!

Bonne soirée
0