FluxBB.fr

Le site des utilisateurs francophones de FluxBB.

Vous n'êtes pas identifié(e).

#1 24-02-2014 16:56:24

TheSy
Membre
Inscription : 24-02-2014
Messages : 6

Problème de cryptage.

Bonjour.

J'utilise actuellement la plateforme FluxBB pour sa simplicité etc.

Donc, j'ai également un jeu en ligne (GTA SA:MP), et donc je veux relier le forum avec le jeu (La connexion).

Lorsqu'un utilisateur va sur le jeu alors qu'il n'a pas de compte = Il ne peut pas y accéder.
Cependant, s'il a un compte forum il peut y accéder.

Les mots de passes sont hashés en SHA1, et malheureusement pour moi, il m'est impossible avec le SHA1 de faire fonctionner la connexion à mon jeu.
Cependant, avec le hash MD5 c'est possible.
J'ai essayé avec PHPbb et ça fonctionne, mais je veux garder FluxBB happy.

Pour hasher les codes en MD5 sous PHPbb, j'ai créé une colonne dans la table users, et donc lorsque l'utilisateur se connecte ça hash le mot de passe dans la colonne créée, et de ce fait sur le jeu j'utilisais cette colonne-ci pour pouvoir faire fonctionner la connexion.
Voici le code que j'avais sous PHPbb pour hash en MD5:

$password_new = md5( $_REQUEST['password'] );

                $sql = "UPDATE " . USERS_TABLE . "
                        SET password_new = '$password_new'
                        WHERE user_id = " . $row['user_id'];
                $db->sql_query($sql);

                // Successful login... set user_login_attempts to zero...
                return array(
                        'status'                => LOGIN_SUCCESS,
                        'error_msg'             => false,
                        'user_row'              => $row,
                );

Cependant, j'ai cherché dans la page login.php sur FluxBB, mais rien trouvé, can you help me please?

Merci wink

Dernière modification par TheSy (24-02-2014 16:57:08)

Hors ligne

#2 24-02-2014 18:43:40

Otomatic
Régisseur
Lieu : Paris, France
Inscription : 12-12-2005
Messages : 3 660
Site Web

Re : Problème de cryptage.

Bonjour,

Dans le fichier login.php, juste avant :

	redirect(pun_htmlspecialchars($_POST['redirect_url']), $lang_login['Login redirect']);
}

On sait si les noms utilisateurs et mots de passe sont corrects, la variable $authorized vaut true et les noms utilisateurs et mot de passe en clair sont contenus dans $form_username et $form_password donc, c'est là, juste avant la ligne susmentionnée qu'il faut mettre la génération md5.


Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche

Hors ligne

#3 24-02-2014 18:59:47

TheSy
Membre
Inscription : 24-02-2014
Messages : 6

Re : Problème de cryptage.

Si je mets le code que j'ai mentionné au dessus ça fonctionnera?

Si tel n'est pas le cas, vous pourriez m'indiquer le code à indiquer et commenter les lignes importantes de façon à ce que je comprenne?

EDIT:

J'ai essayé ça, mais ça ne fonctionne pas, la colonne "password_new" reste toujours vide même après reconnexion...:

$password_new = md5($_REQUEST['password']);
    $sql = "UPDATE fluxbb_users SET password_new = '$password_new' WHERE id =".$row['id'];
    $db->query($sql);

Juste avant la ligne que tu m'as donné.

Dernière modification par TheSy (24-02-2014 19:35:19)

Hors ligne

#4 24-02-2014 19:51:22

Otomatic
Régisseur
Lieu : Paris, France
Inscription : 12-12-2005
Messages : 3 660
Site Web

Re : Problème de cryptage.

Bonsoir,

Donc, dans le fichier login.php, remplacer :

	// Reset tracked topics
	set_tracked_topics(null);

	redirect(pun_htmlspecialchars($_POST['redirect_url']), $lang_login['Login redirect']);

par

	// Reset tracked topics
	set_tracked_topics(null);
	//[modif oto] - Ajout mot de passe haché md5 dans
	// colonne fluxbb_users.password_new qui doit exister
	if($authorized)
	{
		if ($db->field_exists('users', 'password_new'))
		{
			$password_new = md5($form_password);
			$db->query('UPDATE '.$db->prefix.'users SET password_new=\''.$password_new.'\' WHERE id='.$cur_user['id']) or error('Unable to update md5 password', __FILE__, __LINE__, $db->error());
		}
	}
	redirect(pun_htmlspecialchars($_POST['redirect_url']), $lang_login['Login redirect']);

Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche

Hors ligne

#5 24-02-2014 19:57:58

TheSy
Membre
Inscription : 24-02-2014
Messages : 6

Re : Problème de cryptage.

Merci wink.

EDIT: On m'a parlé d'un champ salt dans la table, mais introuvable. Son nom est remplacé par autre chose?

Dernière modification par TheSy (24-02-2014 22:02:54)

Hors ligne

Pied de page des forums