Azuriom/Plugin-Vote

Problème de vérification avec serveursminecraft.org

Closed this issue · 4 comments

Bonjour tout le monde !

Depuis quelques temps maintenant, certains joueurs me signale un problème avec ce site de vote au moment de la vérification.
Le problème étant que le plugin Vote ne vérifie pas correctement si le vote est validé ou non. Donc les utilisateurs ont simplement besoin de cliquer sur le bouton pour être redirigé vers ce site, attendre quelques secondes sur la page sans pour autant faire le captcha pour confirmer le vote. Le vote est donc validé sur Azuriom avec succès et les récompenses reçus en jeu...
J'ai vérifié de mon côté si la vérification était bien activé, et oui :/

Voici un extrait en .gif réalisé par un des joueurs.

En espérant avoir des nouvelles/solutions à propos de ce bug.

Bonne année 2023 à tout le monde !
~ Noltox ~

L'API de ce site renvoie une réponse invalide : https://www.serveursminecraft.org/sm_api/peutVoter.php?id=5917?ip=1.0.0.1
Alors que selon leur documentation, la réponse devrait être true car cette IP peut voter (car celle-ci n'a pas encore votée). Il faudrait contacter le site car on ne peut rien faire de notre côté.

Ergail commented

Hey, l'url utilisée semble être incorrecte dans l'essai effectué, vers la fin de l'url après l'ID du serveur ce n'est pas le caractère ? qu'il faut mais & comme indiqué sur la documentation. Comme ceci : https://www.serveursminecraft.org/sm_api/peutVoter.php?id=5917&ip=1.0.0.1

Hey, l'url utilisée semble être incorrecte dans l'essai effectué, vers la fin de l'url après l'ID du serveur ce n'est pas le caractère ? qu'il faut mais & comme indiqué sur la documentation. Comme ceci : https://www.serveursminecraft.org/sm_api/peutVoter.php?id=5917&ip=1.0.0.1

Effectivement, mais pourtant l'URL dans le plugin est correcte

$this->register(VoteVerifier::for('serveursminecraft.org')
->setApiUrl('https://www.serveursminecraft.org/sm_api/peutVoter.php?id={server}&ip={ip}')
->retrieveKeyByRegex('/^serveursminecraft\.org\/serveur\/(\d+)/')
->verifyByDifferentValue('true'));

Bonjour,
J'ai vérifié un peu d'où venait le problème et le problème venait de l'option "Activer la compatibilité IPv6" du plugin de vote.
L'api de https://www.serveursminecraft.org retournait une réponse vide lorsqu'on lui passait une ipv6 comme argument pour le paramètre ip ce qui causait l'acceptation du vote car vide !== "true".
Maintenant, l'api de www.serveursminecraft.org a été changée pour retourner true lorsqu'elle reçoit une ipv6 ce qui corrige le problème lorsque la compatibilité est activée.
Le problème est donc réglé :)