1. IMPORTANT : Nouvelles mesures de sécurité - 2. Règles pour obtenir de l'aide dans les forums de support - 3. Restrictions des droits pour le groupe "Support suspendu"
Il est obligatoire de respecter les Règles de MyBB.fr : Version abrégée ou Version complète pour obtenir du support sur nos forums.
Les membres ayant un site/forum contrevenant aux règles de MyBB.support seront placés dans le groupe "Support suspendu" et ne bénéficieront plus du support du staff. Nous recommandons aux autres membres d'agir de même. Il ne s'agit pas d'un bannissement, le membre retrouvera son statut "normal" dès que sa situation sera conforme aux règles.
Nouveau : un Wiki en français : plus de détails.
Avant de soumettre votre problème, consultez-le, ainsi que la FAQ, sans oublier le moteur de recherche interne.
[Réglé] Ûtilisation BDD
Mots-clés » Ûtilisation, bdd |
18-11-2011, 17:05,
(Modification du message : 23-11-2011, 22:29 par Malak.)
|
|||
|
|||
Ûtilisation BDD
Bonjour a tous, voila je commence a travailler sur un module ANNEXE à mybb qui aurait besoin des logins de la base de données de MyBB de notre site.
Je vous explique en deux mots, j'aimerai utiliser la BDD users de MyBB de notre site pour se connecter via les pages web que je suis entrain de créer. Le soucis étant que en observant les BDD, je me rends compte que MyBB encrypte/hach les mots de passes et je ne trouve ni ou ni comment ... Voulant partir de rien, je cherche a savoir quelle fonctions je dois utiliser pour transformer le mot de passe entré par mon utilisateur sur ma page pour qu'il corresponde a celui enregistré dans MyBB (s'il est correct bien évidemment) pour lui autoriser l'entrée sur ces pages requérant donc cette identification. J'ai donc pour cela un formulaire créé expressément pour ca ... mais pour le champ du mot de passe ($_POST['mot_de_passe'] par exemple) je ne sais pas ce que je dois en faire pour qu'il soit "transformé" de la meme manière que dans les tables mybb_users. Si quelqu'un a une information, aussi petite soit-elle, il me rendrait un grand service en me la communicant Bonne journée, Malak P.S.: j’espère avoir été le plus clair possible. |
|||
19-11-2011, 1:03,
(Modification du message : 19-11-2011, 1:04 par MarechalSummers.)
|
|||
|
|||
RE: Ûtilisation BDD
MyBB utilises un hashage spécifique dérivé du md5, avec un clé créée aléatoirement (elle est dans la table mybb_user, sous le nom de "salt")
C'est impossible de le déhasher. |
|||
19-11-2011, 13:09,
(Modification du message : 19-11-2011, 13:09 par JWH Smith.)
|
|||
|
|||
RE: Ûtilisation BDD
L'algorithme du MD5 a récemment été percé, c'est pourquoi peu de développeurs l'utilisent de nos jours.
Cependant, pour vérifier le mot de passe d'un utilisateur, tu peux crypter la chaîne entrée en $_POST['mot_de_passe'], et la comparer à l'entrée dans la BDD. La fonction de cryptage de MyBB est celle-ci : Code PHP : function salt_password($password, $salt) Avec $salt, la valeur du champ salt de l'utilisateur (enregistré dans la BDD). |
|||
19-11-2011, 19:08,
|
|||
|
|||
RE: Ûtilisation BDD
Ce que je cherche, c'est connaitre le type de hachage utilisé par MyBB pour pouvoir comparer la valeur dans les tables mybb_users et la valeur entrée par l'utilisateur.
Je pense que c'est exactement ce que Smith a posté, mais je ne comprends pas un truc. MyBB encrypte le pass concaténé au md5 d'une clé créée de maniere aléatoire ? C'est ca ? Donc ce qui est contenu dans la base de donnée, c'est le return de la fonction que tu m'as gentillement posté ? |
|||
19-11-2011, 19:26,
|
|||
|
|||
RE: Ûtilisation BDD
MyBB n'utilise aucune méthode aléatoire ou propre : il s'agit d'un cryptage par sel.
On récupère le sel associé à l'utilisateur (champ "salt" de la base de données), on le crypte en md5, puis on le suit du mot de passe saisi par l'utilisateur (ex: $_POST['password']). Le tout est alors recrypté en md5. La façon de faire de MyBB est incomplète (et puis le cryptage md5 n'est plus sur depuis qu'il a été cracké), mais elle est assez commune. |
|||
20-11-2011, 19:52,
|
|||
|
|||
RE: Ûtilisation BDD
okay donc c'est bien comme je l'avais imaginé.
Et le sel associé est défini à la ligne 936 de member.php ? merci beaucoup pour ces reponses, c'est exactement ce que je cherchais, ca va m'aider enormément |
|||
20-11-2011, 20:57,
(Modification du message : 20-11-2011, 20:58 par JWH Smith.)
|
|||
|
|||
RE: Ûtilisation BDD
Le sel n'est pas défini dans un fichier, sinon il n'aurait pas grand intérêt... C'est enregistré dans le champ "salt" de l'utilisateur, comme je l'ai dit plus haut.
|
|||
20-11-2011, 22:14,
|
|||
|
|||
RE: Ûtilisation BDD
oui oui ... mais je pense que mybb le definit a cette ligne la :
Code PHP : $password = random_str(); ligne 936 de member.php |
|||
20-11-2011, 22:36,
(Modification du message : 20-11-2011, 22:36 par JWH Smith.)
|
|||
|
|||
RE: Ûtilisation BDD
Il suffit de remonter un peu plus haut...
Code PHP : if($mybb->input['action'] == "resetpassword") ... pour voir qu'il s'agit d'un code exécute pour le "mot de passe oublié", et non pour l'inscription. Et puis jusqu'à preuve du contraire, "password" veut dire "mot de passe", et non "sel".. Je ne vois pas pourquoi tu cherches son utilisation dans MyBB si tu veux l'utiliser sur un site web à part... Tu n'as qu'à récupérer le salt de l'utilisateur, crypter avec la fonction que je t'ai donné plus haut, et comparer avec le "password" de la base de données... |
|||
20-11-2011, 23:05,
|
|||
|
|||
RE: Ûtilisation BDD
Bref. Merci beaucoup
Bonne soirée |
|||
21-11-2011, 12:31,
|
|||
|
|||
RE: Ûtilisation BDD
Bon je double post pour revenir vers vous, j'ai utilisé exactement la fonction que vous m'avez proposé mais je ne retombe pas sur les valeurs de la base de données.
Code PHP : function debug($str) je vous ai mis le code ou ca coince, comme vous l'auriez compris, normalement, mon "script" est sensé à $password_changed qui est egal à $password_bdd SI le pass entré est correct ! Or Je tombe toujours sur une chaine de caractère différente. J'ai essayé de trouver l'endroit dans mybb ou ils enregistre leur mot de passe, que je vois la fonction utilisé ou la méthode, mais en vain, je n'ai pas trouvé :/ Peut-etre pourriez-vous, a nouveau, m'éclairer ? |
|||
22-11-2011, 22:18,
|
|||
|
|||
RE: Ûtilisation BDD
Pour information, j'ai trouvé la fonction correcte :
Code PHP : /* |
|||
22-11-2011, 22:54,
|
|||
|
|||
RE: Ûtilisation BDD
La fonction de salt que j'ai donné est celle de MyBB 1.4.8. Je n'ai pas vérifié les changements dans les versions plus récentes.
|
|||
« Sujet précédent | Sujet suivant »
|
Utilisateur(s) parcourant ce sujet : 4 visiteur(s)