Avec tout le battage médiatique sur JavaScript et HTML5 remplaçant Flash, je voulais savoir - Comment serait-il possible de protéger le code js côté client? Bien sûr, il est possible de l'obscurcir, mais cela ne ferait que le rendre un peu plus difficile. Aussi, pour les jeux qui soumettent des scores élevés au serveur, ne serait-il pas incroyablement facile de modifier ces scores avant qu'ils ne soient envoyés au serveur? Je sais que même les fichiers Flash peuvent être décompilés, mais ils peuvent être obscurcis et la décompilation flash n'est pas aussi simple que de modifier les données dans JS - pourrait être fait facilement en utilisant un plugin tel que Firebug. J'aimerais connaître le point de vue de tout le monde à ce sujet.Sécurité/Code de protection en JavaScript
Répondre
Javascript, étant analysé sur le client, n'est jamais sûr à 100%. Il y aura toujours être des moyens de savoir ce qu'il fait. Il y a quelques jours, j'ai même vu un outil qui décompresse javascript emballé, donc la seule chose que vous pouvez vraiment faire est d'utiliser des noms de variables «moche» (ou, en fait, faire un javascript packer transformer vos «bons» noms de variables en court/moche/Pour protéger les résultats des jeux, vous devez déplacer une partie de la logique du jeu vers le serveur afin que le client ne puisse pas envoyer de résultats arbitraires. Récapitulatif: Ne mettez pas de secrets dans le code javascript et ne faites confiance à aucun élément provenant du client, qu'il provienne d'un formulaire ou qu'il soit généré/envoyé via javascript.
Vous dites que pour un jeu qui envoie des scores élevés au serveur, il serait trop facile de modifier javascript et de forger une requête? À l'exception du cas, lorsque vous utilisez une cryptographie sur le client, c'est le moyen le plus simple de falsifier une telle requête sans même analyser le script mais en envoyant la requête elle-même. Tout ce que vous envoyez entre le serveur et le navigateur peut être facilement visualisé sur ordinateur, analysé et modifié.
- 1. Javascript protection
- 2. Protection de script PHP
- 3. protection Hotlinking
- 4. Défaut de protection générale
- 5. Protection JKS
- 6. Protection contre l'injection XSLT
- 7. Protection d'un service Web JSON
- 8. Protection d'un fichier ASX en PHP
- 9. Protection du contenu statique en ligne
- 10. Application de protection de mot de passe en développement (Codeigniter)
- 11. Macro Modifier/Protection de vue
- 12. Protection de l'assembly du pirate
- 13. System.Linq.Expressions.ExpressionVisitor est inaccessible en raison de son niveau de protection
- 14. GetTableSchema() inaccessible en raison de son niveau de protection
- 15. inaccessible en raison de son niveau de protection
- 16. System.Windows.Media.Animation.AnimationTimeline) » est inaccessible en raison de son niveau de protection
- 17. Protection de la mise en forme d'une feuille de calcul
- 18. Protection du dépôt Subversion
- 19. Protection des fichiers Excel
- 20. problème de protection d'un répertoire en utilisant .htaccess
- 21. Désactivation/suppression de la protection en écriture SD (HC)
- 22. Protection CSRF dans Tomcat
- 23. App.config chaîne de connexion Erreur de protection
- 24. Mot de passe/Protection des clés
- 25. .net protection par mot de passe
- 26. Protection de base de données SQL Server
- 27. protection de l'image dans l'application asp.net
- 28. protection de code php rejetback question
- 29. protection mélodie grails avec filtre de grails
- 30. Protection XSRF GET .net mvc
Merci. Même si je déplace une partie de la logique du jeu, l'algorithme de génération de données à envoyer au serveur est toujours très ouvert. En outre, ce ne serait pas un facteur important dans l'adoption de HTML5 en particulier en ce qui concerne les jeux? Pourquoi/comment les gens prédisent-ils que le flash est en voie de disparition? – BlueSilver
Flash est presque aussi peu sécurisé que javascript. Il y a de bons décompilateurs d'actionscript et même si cela ne serait pas possible, vous pouvez toujours renifler la requête envoyée au serveur. En plus de cela, beaucoup de jeux flash sont juste pour le plaisir, pas pour des récompenses, etc. Peu importe si les gens trichent là ou pas. – ThiefMaster
Désolé de demander cela à plusieurs reprises, mais ce ne serait pas un facteur important pour l'adoption de HTML5? En outre, flairer la demande n'est pas aussi facile que de voir la source. De plus, il existe des portails de jeux flash où obtenir des scores élevés pourrait vous rapporter de l'argent, donc la triche aurait de l'importance ici. – BlueSilver