Auteur Sujet: [Demande] Bridge pour Mybb  (Lu 5569 fois)

Akenstorm

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
[Demande] Bridge pour Mybb
« le: 16 août 2015, 19:20:14 »
Bonjour,
Je voulais savoir si quelqu'un avait déjà développé un Bridge pour Mybb et si ce n'ai pas le cas j'aimerais savoir si il serait possible d'avoir de l'aide pour en coder un.
Ps: Merci à Mush pour sont RaidPlanner vraiment bien foutu ^^
Cordialement.

Mush

  • Mushraider
  • Administrator
  • Hero Member
  • *****
  • Messages: 768
  • Meh.
    • Voir le profil
    • MushRaider
Re : [Demande] Bridge pour Mybb
« Réponse #1 le: 17 août 2015, 12:56:39 »
Salut et merci,

Il n'y en a pas à ma connaissance, et pour avoir de l'aide je pense que tu en trouveras plus facilement du côté de la communauté MyBB (car cela ne demande aucun code du côté MushRaider)

Dans tous les cas, si tu trouves n'hésites pas à m'en faire part histoire que je l'ajoute à la liste des bridges disponibles =)
MushRaider - modern raid planner for modern raiders
Me suivre sur  twitter and Google+
Soutenir le projet et me payer une bière =)

Akenstorm

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
Re : [Demande] Bridge pour Mybb
« Réponse #2 le: 17 août 2015, 14:35:37 »
D'accord si j'y parviens j'en ferais part sur ce post.
C'est vrai que avec ton explication pour faire un Bridge je vois bien que ça reste pas très compliqué c'est surtout l’intégré à MyBB qui me pose problème ^^'

Akenstorm

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
Re : [Demande] Bridge pour Mybb
« Réponse #3 le: 21 août 2015, 13:56:49 »
Par contre est-ce que vous prévoyez d'en développer un à un moment ? car sur MyBB.fr je ne trouve pas d'aide ^^'

Mush

  • Mushraider
  • Administrator
  • Hero Member
  • *****
  • Messages: 768
  • Meh.
    • Voir le profil
    • MushRaider
Re : [Demande] Bridge pour Mybb
« Réponse #4 le: 21 août 2015, 19:22:04 »
Pas personnellement, je n'ai vraiment pas le temps
MushRaider - modern raid planner for modern raiders
Me suivre sur  twitter and Google+
Soutenir le projet et me payer une bière =)

Akenstorm

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
Re : [Demande] Bridge pour Mybb
« Réponse #5 le: 27 août 2015, 10:56:55 »
J'ai tenté de me débrouiller et j'ai fais ceci comme base que des membres de MyBB m'ont validé et corrigé:

<?php

define
("IN_MYBB",1);

require_once 
"./global.php";

require_once 
MYBB_ROOT."inc/functions_user.php";



/*

Bridge exemple for MushRaider

More infos on http://mushraider.com/bridge

*/

header('Content-Type: application/json');

 

// Secret key added in MushRaider's admin

$salt '******************';



 

// Test if we get the login & password infos

if(empty($_POST['login']) || empty($_POST['pwd'])) {

    echo 
json_encode(array('authenticated' => false));

    exit();

}

else



	
// Decrypt password

	
// No reason to change this

	
$iv_size mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128MCRYPT_MODE_ECB);

	
$iv mcrypt_create_iv($iv_sizeMCRYPT_RAND);

	
$pwd mcrypt_decrypt(MCRYPT_RIJNDAEL_128$saltstripslashes($_POST['pwd']), MCRYPT_MODE_ECB$iv);



	
$result_username username_exists($_POST['login']);  //function MyBB pour vérifier si l'username existe

	
if (
$result_username != false)

	
{

	
	
$result_password validate_password_from_username($_POST['login'], $pwd);    //function MyBB pour valider la mot de passe de l'utilisateur

	
	
if (
$result_password != false)

	
	
{

	
	
	
$userInfos = array();

	
	
	
$userInfos['authenticated'] = true// Or false if don't

	
	
	
$userInfos['email'] = $result_password['email']; // Replace it with the user's email, offcourse

	
	
	
$userInfos['role'] = 'member'// Optional parameter, force & set the role for this user. Can be 'member' (default), 'officer' or 'admin'

	
	
	
 

	
	
	
echo 
json_encode($userInfos);

	
	
	
exit();

	
	
}

	
	
else 

	
	
{

	
	
	
echo 
json_encode(array('authenticated' => false));
	
	
	
exit();
	
	
}

	
}

	
else 

	
{

        echo 
json_encode(array('authenticated' => false));
	
	
exit();
    }

}

?>


mais il semblerait que que le code renvoi toujours "'authenticated' => false" et ne vas pas plus loin car quand j'essaye de me connecter après activation du bridge au raidplanner il m'indique que le le password ou username est incorrect et sur MyBB ils ne comprennent pas pourquoi cela ne fonctionne pas.
(Sachant que j'ai mis ce code à cette url : http://la**********.ddns.net/mushraider.php et que j'ai indiqué le même url au bridge de MushRaider)

Quelqu'un à une petite idée du problème ? :)
« Modifié: 29 mars 2016, 22:55:35 par Akenstorm »

Mush

  • Mushraider
  • Administrator
  • Hero Member
  • *****
  • Messages: 768
  • Meh.
    • Voir le profil
    • MushRaider
Re : [Demande] Bridge pour Mybb
« Réponse #6 le: 31 août 2015, 16:34:44 »
t'as essayé de le debug en faisant des dumps à différentes étapes de ton script ? (comme vérifier si le mot de passe était correctement décrypté par exemple ;))
MushRaider - modern raid planner for modern raiders
Me suivre sur  twitter and Google+
Soutenir le projet et me payer une bière =)

Akenstorm

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
Re : [Demande] Bridge pour Mybb
« Réponse #7 le: 29 mars 2016, 20:41:16 »
Je me suis remis dessus dernièrement et j'ai fais un test avec ça comme code sur la page php :
<?php

define
("IN_MYBB",1);
define('THIS_SCRIPT''bridgeplanner.php');
require_once 
"./global.php";
require_once 
MYBB_ROOT."inc/functions_user.php";



/*

Bridge exemple for MushRaider

More infos on http://mushraider.com/bridge

*/

header('Content-Type: application/json');





// Test if we get the login & password infos
$login 'Akenstorm';
$pwd 'monmotdepassemybb';
    
$result_username username_exists($login);

    if (
$result_username != false)
    {

        
$result_password validate_password_from_username($login$pwd);
        if (
$result_password != false)

        {
            
$userInfos = array();
            
$userInfos['authenticated'] = true// Or false if don't
            
$userInfos['email'] = $result_password['email']; // Replace it with the user's email, offcourse
            
$userInfos['role'] = 'member'// Optional parameter, force & set the role for this user. Can be 'member' (default), 'officer' or 'admin'
            
echo json_encode($userInfos);
            exit;
        }
        else
        {

            echo 
json_encode(array('authenticated' => false));
            exit;

        }

    }

    else
    {

        echo 
json_encode(array('authenticated' => false));
        exit;
    }

?>


et la page php me renvoi :
{"authenticated":true,"email":"monemailMybb","role":"member"}

Du coup le problème vient en amont, du décryptage ou de je ne sais quoi mais j'arrive pas à trouver quoi sachant que je ne sais pas comment faire pour tester le décryptage  ^^'

Akenstorm

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
Re : [Demande] Bridge pour Mybb
« Réponse #8 le: 29 mars 2016, 22:54:18 »
C'est bon j'ai trouvé le problème venait bien du décryptage il faut juste remplacer :
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);
  $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
          $pwd = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $salt, stripslashes($_POST['pwd']), MCRYPT_MODE_ECB, $iv);

Par :
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);
          $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
          $pwd = trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $salt, stripslashes($_POST['pwd']), MCRYPT_MODE_ECB, $iv));

Mush

  • Mushraider
  • Administrator
  • Hero Member
  • *****
  • Messages: 768
  • Meh.
    • Voir le profil
    • MushRaider
Re : [Demande] Bridge pour Mybb
« Réponse #9 le: 03 avril 2016, 15:43:13 »
Si tu as eut besoin d'un trim(), c'est possible que tu ais un espace qui traîne en début ou fin de fichier
MushRaider - modern raid planner for modern raiders
Me suivre sur  twitter and Google+
Soutenir le projet et me payer une bière =)

kenedo

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Re : [Demande] Bridge pour Mybb
« Réponse #10 le: 03 nov. 2017, 16:51:14 »
Bonjour,

Je repasse par ici pour "réactiver le sujet" et savoir si des changements ont été constatés sur la méthode de décryptage du mot de passe depuis la dernière version de Mybb v-1.8.12.

Serait t-il possible d'avoir une idée ou indice de la part d'une âme sympa pour m'aider à comprendre " pourquoi " je ne peux plus lier Mushraider à mon bridge utilisé depuis près d'un an.

Je n'obtiens que des erreurs 404, 500 ou simplement "Doh! Le bridge a été désactive car l'adresse du site tier semble incorrecte"...

Détails :

Apache/2.2.22 (Debian)
MySQL : 5.5.58
mod_rewrite : on
sans parefeu
php : 7.1.11
Aucune extension de gestion cache
Mushraider 1.7.0.2

Bridge :


<?php
define
('IN_MYBB',1);
define('THIS_SCRIPT''scalendar.php');
require_once 
'./global.php';
require_once 
MYBB_ROOT.'inc/functions_user.php';
/*
Bridge exemple for MushRaider
More infos on http://mushraider.com/bridge
*/
header('Content-Type: application/json');
// Secret key added in MushRaider's admin
$salt 'codeapicodeapicodeapicodeapicodeapi';
// Test if we get the login & password infos
if(empty($_POST['login']) || empty($_POST['pwd'])) {
echo 
json_encode(array('authenticated' => false));
    exit();
}
else

// Decrypt password
// No reason to change this
$iv_size mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128MCRYPT_MODE_ECB);
          
$iv mcrypt_create_iv($iv_sizeMCRYPT_RAND);
          
$pwd trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_128$saltstripslashes($_POST['pwd']), MCRYPT_MODE_ECB$iv));
$result_username username_exists($_POST['login']);  //function MyBB pour vérifier si l'username existe
if ($result_username != false)
{
$result_password validate_password_from_username($_POST['login'], $pwd);    //function MyBB pour valider la mot de passe de l'utilisateur
if ($result_password != false)
{
$userInfos = array();
$userInfos['authenticated'] = true// Or false if don't
$userInfos['email'] = $result_password['email']; // Replace it with the user's email, offcourse
$userInfos['role'] = ''// Optional parameter, force & set the role for this user. Can be 'member' (default), 'officer' or 'admin'
echo json_encode($userInfos);
exit();
}
else 
{
echo json_encode(array('authenticated' => false));
exit();
}
}
else 
{
        echo 
json_encode(array('authenticated' => false));
exit();
    }
}
?>



Cordialement, K.