Depuis pas mal de temps, je me pose une question uniquement par curiosité. Je veux pas le faire pour l'instant, mais j'aimerais savoir comment ça marche
C'est un problème qui concerne souvent la création de jeux vidéo mais qui peut se retrouver pour des programmes plus généraux, c'est pour cela que je poste ici et pas dans le forum création de JV, mais j'aurais très bien pu poster là bas.
En fait, il y a beaucoup de jeux qui utilisent des classements en ligne, par exemple des jeux de course où les meilleurs temps sont stockés dans une base de données, ça permet par exemple au joueur de comparer son meilleur temps par rapport aux autres.
Pour ce faire, on doit donc disposer d'une base de données, ok, dit comme ça ça a pas l'air bien sorcier
Cependant, il me semble qu'il serait fou de stocker la requête directement dans le code source du programme, puisque celle ci devrait contenir les login et mot de passe de la BDD, qu'on pourrait retrouver facilement en décompilant le programme, mais aussi les requêtes-même qu'on pourrait éditer en modifiant ce programme
Donc, pour sécuriser ça, j'imagine que la méthode est de passer par un serveur : on envoie un socket ou quelque chose du genre à ce serveur, qui ensuite s'occupe de faire la requête SQL sur pour stocker ça dans sa base de données dont lui seul a accès, comme ça l'utilisateur n'a aucun moyen de voir les infos cités au dessus.
Mais comment empêcher un utilisateur de trafiquer les données qu'il envoie ?
Il pourrait par exemple modifier directement certaines variables dans la mémoire pour faire un temps de fou à l'aide de programme tiers, et même si on instaure un système de cryptage avec clefs et tout le bordel, ils pourraient même modifier directement le jeu pour aller hyper rapidement, etc.
J'ai l'impression que faire un classement en ligne sécurisé et fiable est totalement impossible, et pourtant beaucoup de jeux proposent ça.
Alors comment ils font pour vérifier que les infos qu'ils reçoivent est cohérente
Et sont-ils obligés de passer par un serveur pour faire le pont entre BDD et jeu ?
ça m'intrigue depuis des mois ce truc 