PDA

Voir la version complète : Formulaire d'identification à vBulletin


Aza
19/03/2004, 01h16
Voilà, j'ai un site, et il y a un forum Vbulletin dessus.

Ce que je voudrais faire, ce serai que les inscrits du forum soient inscrits sur le site, et que les admins forum soit les admins du site.

Pour ça, j'aimerai déjà commencé par une identification avec un petit formulaire tout bête, puis créée un cookie qui ait le même nom que celui que utilise Vbulletin.

Mais un problème se pose à moi :

j'ai déjà remarqué que Coldfusion s'est lancé dans quelque chose dans le genre, mais son truc je l'avais déjà fais, et je me suis apperçu que les mots de passes n'étaient pas cryptés en md5, mais grace à un algorythme "fait maison"....
J'aurai donc aimé savoir comment marche cet algorythme ? Si je peux avoir la réponse quelque part ou si je dois passer encore quelques semaines dessus à chercher ?
J'ai vu qu'il y a le 'mot de passe' + 'salt' ... mais bon.. quand je fais ça puis crypte le tout en md5, ça me donne quelque chose de différents par rapport au mot de passe que j'ai entré dans la base de données...

Donc puis-je avoir un peu d'aide si quelqu'un a la réponse, ou c'est moi qui doit vous la donner dans quelques temps ? ;)

SeDkY
19/03/2004, 01h29
Si je me rappel bien déja, c une encryption en sens unique, tu peux crypter, mais pas décrypter, donc fo bien que tu compare tes deux mot de passes apres que tous les deux soit crypter, vala ;) pour le reste je peux pas t'aider, je sais pas trop comment ca se passe, sorry...

Pitchoune
19/03/2004, 01h31
Je sais pas non plus, et ça peut gravement m'intéresser :)

Rien qu'avec le futur manuel de vB3, ça va bien le faire, alors après.... :)

Aza
19/03/2004, 02h04
oui, je savais que c'était à sens unique ça.. et je sais qu'il faut comparer apres encryption, mais le seul truc, c'est que les deux uune fois encryptés ne sont pas identiques, donc c'est un peu dur d'être identifié apres ! :P
Et donc Pitchoune il y aura un manuel vB3 ? Il pourra m'être utile ? ^^

Pitchoune
19/03/2004, 02h10
Il y a un manuel pour vB2, ils sont en train de finir le manuel pour vB3.

Je pense que le nouveau manuel sera une grosse surprise pour tout le monde :)
http://www.vbulletin.com/forum/showthread.php?p=630097#post630097

Aza
19/03/2004, 02h13
et.... tu crois que si je demande au forum de www.vBulletin.com ils me répondront ? Ou il vaut mieux que j'attende unne réponse ici tout en cherchant moi même la solution ? :004:

Pitchoune
19/03/2004, 02h16
Je ne pense pas qu'ils te répondent, c'est une sorte de hack que tu veux utiliser, et ils ne veulent pas donner d'aide pour cela. Pour les hacks, c'est www.vbulletin.org (http://www.vbulletin.org) .

Sinon, attends directement quelques temps ici-même, il doit y avoir du monde qui connaissent comment cela fonctionne :)

Aza
19/03/2004, 02h21
Je suis pas sur que ce soit vraiment un hack que je veuille... Moi tout ce que je veux, c'est comment encrypter un champs de forumulaire, avec le même algorythme utilisé lors de l'identification sur le forum :P

SeDkY
19/03/2004, 02h33
Bon j'ai regarder en vitesse, en fait le 'salt' c tt simplement un champ de la table user ;) vala donc pas tres compliqué, tu concatene le password entré plus le contenu du salt, et hop un md5 dessus, enfin a verifier, je te dit sans verifier ;)

Aza
19/03/2004, 02h39
Ce que tu as dis, c'est ce que j'avais testé en 1er, mais c'est pas ça, c'est légèrement plus compliqué, mais simple quand meme ! Je vous donne la solution dans le post suivant ! ;)

Aza
19/03/2004, 02h55
Alors, voilà donc le "fameux" code pour s'identifier.
Ca m'aura pris une petite soirée, et en chattant a droite a gauche, donc c'etait plus simple que ce que je pensais ! :P

Donc, le premier fichier est le formulaire (le nom de la page a peu d'importance) :

<form name="ident" method="post" action="ident.php">
<table width="40%" border="0" align="left">
<tr>
<td><strong><font size="2" face="Arial, Helvetica, sans-serif">Nom</font></strong></td>
<td><input type="text" name="pseudo"></td>
</tr>
<tr>
<td><strong><font size="2" face="Arial, Helvetica, sans-serif">Mot de passe</font></strong></td>
<td><input name="pass" type="password" id="pass"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Valider"></td>
</tr>
</table>
</form>

La deuxième pages est ident.php :

<?php
$dbhost = "localhost"; // Adresse du serveur MySQL
$dbuser = "root"; // Identifiant MySQL
$dbpass = ""; // Mot de passe MySQL
$dbbase = "vBulletin"; // Base de données où est installé vBulletin


if((empty($_POST['pseudo'])) || (empty($_POST['pass'])))
{

echo "Un des champs est vide ";

}
else
{
$pseudo=$_POST['pseudo'];
$pass = $_POST['pass'];
$db = @mysql_connect("$dbhost", "$dbuser", "$dbpass") or die(mysql_error());
@mysql_select_db("$dbbase",$db) or die(mysql_error());
$query = mysql_query("SELECT * FROM `user` WHERE `username` = '$pseudo' ") or die(mysql_error());
$data = mysql_fetch_array($query);
$password = md5(md5($pass) . $data['salt']);

if($password == $data['password']) {
echo "Bravo, tu as découvert ton mot de passe !"; //Remplacer par ce qu'on veut faire si le passe est bon.
}
else {
echo "Et non.. perdu... On va devoir t'éxécuter !! Adieu !"; //Remplacer par ce qu'on veut faire si le passe est mauvais.
}
}
?>

Bientôt je vous mettrai une fonction qui vous permettra de créer le cookie pour que vBulletin vous identifie automatiquement ;)

Alors a très bientôt pour la suite ! :P

Pitchoune
19/03/2004, 09h15
Pour le cookie, tu mets un vbsetcookie() et ça doit passer :)

Aza
19/03/2004, 10h34
bah moi ça me gèbe pas de faire un vbsetcookie() , mais le problème c'est que c'est une fonction créée par vBulletin , et qu'elle existe pas avec php !
Donc il faut que je le fasse "manuellement", parce que je veux faire un site totalement externe à vBulletin, mais qui se base quand même sur ses membres, administrateurs, etc... ;)

Pitchoune
19/03/2004, 13h58
Alors regarde du côté de ./includes/sessions.php :)

Aza
19/03/2004, 15h26
t'inquiète pas, je pense que j'y arriverai ! :P
Enfin.. si vous savez pas la réponse, j'en sais au moins autant que vous, parce que j'ai quand même un peu beaucoup l'habitude des forums, et j'ai un peu étudié les fichiers de vBulletin là ... ;)

Enfin bon.. quand ce sera prêt, je le mets ici online ou vous vous en fichez ?

Akex
19/03/2004, 15h36
Pour le cookie tout dépend du domaine du site et du domaine du forum. S'ils sont différents alors créer un cookie propre est utile. S'ils sont sur le meme domaine, créé un cookie pour le domaine (que tu peux récupérer par la base de donnée ou que tu inscris en dur dans le fichier php) l'identification devrait suffire au forum également (bref autant utiliser login.php si c'est sur le même domaine :) ).

ps : quelle réponse ? Il n'y a pas de question :p pour les cookies :)

Aza
19/03/2004, 15h49
baaah.. la page login.php elle est bien, mais son problème c'est qu'une fois identifié, elle redirige vers l'index du forum. Alors que moi je veux pas que les gens se retrouvent sur le forum, mais juste qu'ils reste sur le site et qu'une fois seulement qu'ils ont cliqué sur le lien "forum" ils se retrouvent dessus.

[ Pour info, le site est http://www.UniversOnLine.info et pour le forum c'est http://forums.UniversOnLine.info ! ]

Akex
19/03/2004, 16h11
Non elle ne redirige pas si tu prends bien soin d'insérer en valeur cachée du formulaire l'url actuelle :

<input type="hidden" name="url" value="url de la page actuelle">

Aza
19/03/2004, 16h13
ah oki ! bon, je vois que les admins ne servent finalement pas totalement a rien ! :p

Merci bien m'sieur (m'dame ?) :)

Akex
19/03/2004, 16h15
Monsieur je te prie et fais attention à ce que tu dis :), j'ai un titre qui ne laisse aucun doute sur mes intentions vis à vis de certains ;).

Manquerait plus que les admins servent à rien non mais.

Aza
19/03/2004, 17h07
baaah, j'ai déjà vu des admins inutiles !! :)
( pas sur ce forum pour le moment en tout cas, je te rassure ! ;) )
Mais là ça devient du hors sujet MONSIEUR ! :p

Darkstyler
19/03/2004, 17h13
Le mieux serait que tu crée un hack en prenant exemple sur la présentation de ceux déjà postés. Je suis sûr que ça en interressera plus d'un. ;)

Aza
19/03/2004, 17h44
bah les hack.. je sais pas trop comment on en fait, mais si tu me lances dessus.. où trouver les infos, les noms des champs dans les formulaires, les noms des variables, etc... moi ça m'interresserai, et je le ferai sans probleme ;)

Dharius
11/05/2004, 14h11
Salut AZA !

Dis-moi, ce que tu cherches à faire m'intéresse beaucoup car je souhaiterai faire la même chose: tu en est où ?

MERCI !!!

David

Darkstyler
11/05/2004, 14h17
bah les hack.. je sais pas trop comment on en fait, mais si tu me lances dessus.. où trouver les infos, les noms des champs dans les formulaires, les noms des variables, etc... moi ça m'interresserai, et je le ferai sans probleme ;)
Tout ce qui est PHP et SQL nest pas mon domaine, pas trouvé le temps de m'y mettre ;)

Je te suggère d'effectuer une recherche sur google afin de trouver des tutos php.

Aza
14/05/2004, 10h45
J'en suis, comme je te l'ai dis par mail David, à la session car j'ai rien modifié depuis. Mais..... je me suis mis à reprendre le trravail il y a 1 semaine, donc là je vais mettre en place la récupération du cookie et de la session ;)

Je vous tiens au courant :)

Dharius
09/11/2004, 22h54
Salut AZA !!!

Et maintenant ? As-tu réussi à crer le cookie pour lle forum ?! ca m'intéresse :)

Cordialement,

ramax
12/05/2005, 14h29
je me demande si il ya pas plus simple pour toi

il sufit de reprendre tout simplement le template de login et de l inclure dans une page quelconque

---> moi javai fait ca pour ce site : http://sssb.pulsion.net (http://sssb.pulsion.net/)