Vérifier la version client d'un utilisateur
Fermé
MickaToast
Messages postés
142
Date d'inscription
mercredi 19 février 2014
Statut
Membre
Dernière intervention
23 juillet 2015
-
30 sept. 2014 à 21:33
MickaToast Messages postés 142 Date d'inscription mercredi 19 février 2014 Statut Membre Dernière intervention 23 juillet 2015 - 1 oct. 2014 à 19:14
MickaToast Messages postés 142 Date d'inscription mercredi 19 février 2014 Statut Membre Dernière intervention 23 juillet 2015 - 1 oct. 2014 à 19:14
A voir également:
- Vérifier la version client d'un utilisateur
- Verifier un lien - Guide
- Dernière version ccleaner gratuit français - Télécharger - Nettoyage
- Splitcam ancienne version - Télécharger - Messagerie
- Télécharger zuma revenge version complète gratuit - Télécharger - Jeux vidéo
- Orange service client - Guide
2 réponses
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 228
1 oct. 2014 à 14:30
1 oct. 2014 à 14:30
'lut
Et tu sais pourquoi, vu que tu as évoqué la possibilité d'envoi d'un script correct mais l'utilisation d'un modifié. Du moment qu'on peut modifier la source (qu'elle soit lisible ou compilée d'ailleurs) (et c'est à dire tout le temps), on peut modifier le comportement du script tout en le faisant imiter à la perfection l'original.
De toute façon, en quoi cela te dérange-t-il qu'on modifie le script?
Alors voilà, comment vérifier si l'utilisateur n'a pas rajouté des lignes de script dans le programme côté client?Bah tout simplement, tu ne peux pas.
Et tu sais pourquoi, vu que tu as évoqué la possibilité d'envoi d'un script correct mais l'utilisation d'un modifié. Du moment qu'on peut modifier la source (qu'elle soit lisible ou compilée d'ailleurs) (et c'est à dire tout le temps), on peut modifier le comportement du script tout en le faisant imiter à la perfection l'original.
De toute façon, en quoi cela te dérange-t-il qu'on modifie le script?
MickaToast
Messages postés
142
Date d'inscription
mercredi 19 février 2014
Statut
Membre
Dernière intervention
23 juillet 2015
24
1 oct. 2014 à 16:03
1 oct. 2014 à 16:03
Et bien je fais une sorte de jeu en réseau (un jeu de pong). On pourrait par exemple modifier la taille de la raquette pour tricher.
En fait, je fais aucune vérification du côté serveur sur la partie de pong, c'est pourquoi on peut facilement tricher. J'enregistre juste la position de la balle et des 2 raquettes des joueurs.
D'ailleurs j'avais penser à faire ceci pour la vérification d'un script:
Le client se connecte sur le serveur, il envoie le fichier de son client pour que le serveur le vérifie, si il est pareil que celui du serveur c'est bon, sinon il est deconnecté.
Il me faudrait un truc du genre:
Les ??? représenterais l'emplacement du script exécuté. Du coup, en python, est-ce possible de savoir l'endroit du programme .py qui est executé?
Merci!
En fait, je fais aucune vérification du côté serveur sur la partie de pong, c'est pourquoi on peut facilement tricher. J'enregistre juste la position de la balle et des 2 raquettes des joueurs.
D'ailleurs j'avais penser à faire ceci pour la vérification d'un script:
Le client se connecte sur le serveur, il envoie le fichier de son client pour que le serveur le vérifie, si il est pareil que celui du serveur c'est bon, sinon il est deconnecté.
Il me faudrait un truc du genre:
emplacementfichier = ??? fichierclient = open(emplacementfichier, "r").read() connexion.send(fichierclient.encode("utf-8"))
Les ??? représenterais l'emplacement du script exécuté. Du coup, en python, est-ce possible de savoir l'endroit du programme .py qui est executé?
Merci!
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 228
1 oct. 2014 à 18:11
1 oct. 2014 à 18:11
est-ce possible de savoir l'endroit du programme .py qui est executé?
os.path.realpath(__file__), mais ça peut ne pas marcher dans certains cas (spécifiques, par ex. avec Py2Exe).
je fais aucune vérification du côté serveurEt tu devrais, car si tu veux forcer quelque chose (ici la taille de la raquette), il faut que ça soit géré coté serveur. Il ne faut jamais faire confiance au client, il est la pour faire interface avec l'humain qui joue, mais ça peut être toute autre chose comme un bot qui joue tout seul (semi-légitime) ou un client avec une option de triche.
Dans ce cas d'un jeu de pong, je dirais que la seule chose que le client doit envoyer au serveur, c'est la position de sa raquette (qui sera vérifiée par le serveur), et le serveur ne renvoie que la position de la balle, de ta raquette (! décalage réseau a prendre en compte !) et celle de l'adversaire.
De son coté, le serveur gère la simulation de la balle, et c'est lui qui gère selon la taille de la raquette, qui est fixe.
MickaToast
Messages postés
142
Date d'inscription
mercredi 19 février 2014
Statut
Membre
Dernière intervention
23 juillet 2015
24
1 oct. 2014 à 19:14
1 oct. 2014 à 19:14
Justement, pour le décalage réseau je pensais à faire le jeu de pong sur le client, comme ça il y aura aucun "lag" pour la balle et la raquette (sauf celle de l'adversaire).
Du coup le serveur doit gérer le déplacement de la balle et les raquettes? Ou juste la balle?
Du coup le serveur doit gérer le déplacement de la balle et les raquettes? Ou juste la balle?