Auteur Sujet: [Bridge] VBulletin  (Lu 876 fois)

YannZeRookie

  • Newbie
  • *
  • Messages: 3
    • Voir le profil
[Bridge] VBulletin
« le: 26 mars 2017, 17:56:34 »
Bonjour à tous,

J'ai codé un bridge VBulletin pour notre guilde multi-jeux, Les Scorpions du Désert, si cela intéresse quelqu'un.

À cette occasion, j'ai plusieurs remarques :

1) Un bug potentiel dans l'exemple de la doc : http://mushraider.com/documentation/bridge/
J'avais un comportement différent en local et en production, et j'ai fini par comprendre pourquoi. Dans certains cas, l'appel à mcrypt_decrypt() peut ajouter des caractères non imprimables derrière le mot de passe décodé. La correction consiste à utiliser trim() :
$pwd = trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $salt, stripslashes($_POST['pwd']), MCRYPT_MODE_ECB, $iv));
2) Problème sérieux de stockage de mot de passe dans la table mr_users
Quand une nouvelle personne se connecte à MushRaider via le Bridge, cela crée au vol un enregistrement dans la table des utilisateurs de MushRaider, c'est très cool. Malheureusement, une copie MD5 du mot de passe y est aussi stockée. C'est un gros problème. D'abord c'est inutile, puisque c'est le Bridge qui se charge de l’authentification. Ensuite c'est dangereux car cela fait un moment que MD5 a été craqué. Cela m'embête vraiment d'avoir une table qui copie de façon peu sécurisée les mots de passe de mes utilisateurs. Suggestion : en mode Bridge, mettre une string aléatoire dans mr_users.password

3) Suggestion : support des erreurs retournées par le Bridge
Ce serait cool si le Bridge pouvait retourner à MushRaider des messages d'erreurs plutôt que juste dire oui/non. Cela permettrait d'aider l'utilisateur qui n'arrive pas à se connecter. Je suggère d'ajouter un champ 'message' au JSON retourné que MushRaider afficherait si 'authenticated' est false.

4) Suggestion : faire un mode session
On pourrait aller un cran plus loin dans l'intégration, en testant la session courante dans le code du Bridge. Actuellement c'est impossible, car les cookies en cours ne sont pas transmis dans la transaction serveur-serveur. Dans ce mode, il n'y aurait même plus de dialogue de connexion côté MushRaider. MushRaider appellerait directement le Bridge pour savoir s'il est connecté ou pas, et récupérer l'utilisateur.

Encore merci pour cet outil, qui va s’avérer très utile pour nous.

Question : vous acceptez les Pull Requests sur GitHub ?

A+
Yann
« Modifié: 26 mars 2017, 22:00:29 par YannZeRookie »

Mush

  • Mushraider
  • Administrator
  • Hero Member
  • *****
  • Messages: 768
  • Meh.
    • Voir le profil
    • MushRaider
Re : [Bridge] VBulletin
« Réponse #1 le: 27 avril 2017, 09:29:11 »
Salut et merci pour ces précieux retours

Pas de soucis pour les pull requests

1) j'utilise aussi le trim() sur mon bridge wordpress, il n'est pas dans la doc car je l'avais rédigée avant
2) Tous les mots de passe sont en md5, c'était le choix par défaut à l'époque et ça va malheureusement être compliqué d'en changer maintenant... néanmoins tu as raison sur le fait que je pourrais stocker une random string en tant que mot de passe en mode bridge mais comment gérer le cas où la communauté souhaiterait désactiver le mode bridge ?
3) Dans ce genre de cas je n'aime pas trop avoir un retour trop explicite, mais on pourrait imaginer un retour avec un message pour les problèmes liés à la  configuration pour aider à la mise en place
4) Le mode session serait idéal je pense car complètement transparent pour l'utilisateur
MushRaider - modern raid planner for modern raiders
Me suivre sur  twitter and Google+
Soutenir le projet et me payer une bière =)

YannZeRookie

  • Newbie
  • *
  • Messages: 3
    • Voir le profil
Re : [Bridge] VBulletin
« Réponse #2 le: 02 juil. 2017, 14:49:26 »
Citer
3) Dans ce genre de cas je n'aime pas trop avoir un retour trop explicite, mais on pourrait imaginer un retour avec un message pour les problèmes liés à la  configuration pour aider à la mise en place

Bien sûr, c'est la responsabilité du développeur du Bridge de retourner un message qui soit suffisamment explicite pou l'utilisateur sans pour autant révéler un secret de config ou de code.

J'ai deux utilisateurs qui ont un souci de connexion avec mon Bridge VB. J'ai donc codé la chose, en espérant que cela m'aidera. J'en ai profité pour faire une Pull Request, histoire que vous puissiez regarder, voire l'intégere si vous pensez que c'est utile :

https://github.com/st3ph/mushraider/pull/92

Merci,

Yann