MyBB.support, le portail francophone de MyBB
[Réglé] Utiliser les identifiants de mybb pour un blog. - Version imprimable

+- MyBB.support, le portail francophone de MyBB (http://mybb.fr)
+-- Forum : MyBB.fr (http://mybb.fr/forum-1.html)
+--- Forum : Support (http://mybb.fr/forum-5.html)
+--- Sujet : [Réglé] Utiliser les identifiants de mybb pour un blog. (/thread-7480.html)



Utiliser les identifiants de mybb pour un blog. - julienetnel - 12-12-2015


VERSION_MyBB : 1.8.6
Bonjour,

J'héberge des blogs blogotext, j'aimerais que ces blogs utilisent les identifiants de mon forum Mybb 1.8.6 (http://sqliteblog.fr/forum/).

Si j'ai bien compris , vous utilisez ça : md5(md5($salt).md5($password) .

$password est-il lui même hasher ou à quoi correspond t'il ?

Pour $salt, je crois que j'ai trouvé.

En ce qui concerne md5, c'est assez sécurisé ? Je suis étonné de son utilisation.


RE: Utiliser les identifiants de mybb pour un blog. - Saphir - 12-12-2015

Bonjour julienetnel.

Le mieux est d'utiliser le cookie de MyBB pour vérifier si l'utilisateur est connecté.
Dans votre code PHP, incluez la page global.php (include_once "global.php"Wink, puis vérifiez le statut de connexion avec if($mybb->user['uid'] > 0).

Bonne journée.


RE: Utiliser les identifiants de mybb pour un blog. - julienetnel - 12-12-2015

Bonjour,

Dans mon cas, ça serait : if ($mybb->user['username'] == $GLOBALS['identifiant']) ?

Edit :

Code PHP :
<?php

// Afficher les erreurs à l'écran
ini_set('display_errors'1);
// Enregistrer les erreurs dans un fichier de log
ini_set('log_errors'1);
// Nom du fichier qui enregistre les logs (attention aux droits à l'écriture)
ini_set('error_log'dirname(__file__) . '/log_error_php.txt');
// Afficher les erreurs et les avertissements
error_reporting(e_all);

include_once 
"http://sqliteblog.fr/forum/global.php";

$dir getcwd();

$url_list explode('/'$dir);

$GLOBALS['identifiant'] = $url_list[7];

echo 
$GLOBALS['identifiant'];

echo 
$mybb->user['username'];

if(
$mybb->user['username'] == $GLOBALS['identifiant'])
{
 
  echo "Hello there ".$mybb->user['username'];


else
{
 echo
'<p>Ca ne marche pas</p>'
}


?>

echo $mybb->user['username']; ne me retourne rien.


RE: Utiliser les identifiants de mybb pour un blog. - Saphir - 12-12-2015

Pourquoi ?

$mybb->user['uid'] contient le numéro d'identification (uid) de l'utilisateur.
$mybb->user['username'] contient son nom d'utilisateur.

En résumé, si $mybb->user['uid'] est supérieur à 0, cela signifie que la personne qui visite la page est connectée à MyBB.
Vous pouvez alors récupérer son nom d'utilisateur (username), son groupe (usergroup), et bien plus si vous le souhaitez.

Il n'est pas utile de demander à l'utilisateur de se connecter une fois pour le forum, et une fois pour le blog, si une seule connexion peut suffire ! Smile


RE: Utiliser les identifiants de mybb pour un blog. - julienetnel - 12-12-2015

(12-12-2015, 14:39)Saphir a écrit :  Pourquoi ?

$mybb->user['uid'] contient le numéro d'identification (uid) de l'utilisateur.
$mybb->user['username'] contient son nom d'utilisateur.

En résumé, si $mybb->user['uid'] est supérieur à 0, cela signifie que la personne qui visite la page est connectée à MyBB.
Vous pouvez alors récupérer son nom d'utilisateur (username), son groupe (usergroup), et bien plus si vous le souhaitez.

Il n'est pas utile de demander à l'utilisateur de se connecter une fois pour le forum, et une fois pour le blog, si une seule connexion peut suffire ! Smile

Code PHP :
<?php

// Afficher les erreurs à l'écran
ini_set('display_errors'1);
// Enregistrer les erreurs dans un fichier de log
ini_set('log_errors'1);
// Nom du fichier qui enregistre les logs (attention aux droits à l'écriture)
ini_set('error_log'dirname(__file__) . '/log_error_php.txt');
// Afficher les erreurs et les avertissements
error_reporting(e_all);

include_once 
"http://sqliteblog.fr/forum/global.php";

if(
$mybb->user['uid'] > 0){

$dir getcwd();

$url_list explode('/'$dir);

$GLOBALS['identifiant'] = $url_list[7];

echo 
'<p> $GLOBALS[\'identifiant\']; :  '.$GLOBALS['identifiant'].'</p>';

echo 
'<p> $mybb->user[\'username\']; :  '.$mybb->user['username'].'</p>';

if(
$mybb->user['username'] == $GLOBALS['identifiant'])
{
 
  echo "Hello there ".$mybb->user['username'];


else
{
 echo
'<p>Ca ne marche pas</p>'
}

}

else
{
 echo
'<p>Vous n\'êtes pas connecté</p>'
}

?>

Ca me retourne "Vous n'êtes pas connecté" alors que je le suis sur le forum.

Edit : si je met : include_once "../../../forum/global.php";

J'obtiens :

Direct initialization of this file is not allowed.

Please make sure IN_MYBB is defined.

Edit2 : en ajoutant define("IN_MYBB", 1);, ca disparait.

Mais j'ai à nouveau "Vous n'êtes pas connecté".

Edit3 : echo $mybb->user['uid']; : me retourne 0, alors que je suis connecté ...


RE: Utiliser les identifiants de mybb pour un blog. - spyto - 12-12-2015

Il me semble me rappeler qu'il faut utiliser qq part chdir...

Un peu de lecture :
http://mybb.support/thread-6914.html

http://mybb.support/thread-6912.html
http://mybb.support/thread-6907.html
http://mybb.support/thread-6454.htm


RE: Utiliser les identifiants de mybb pour un blog. - julienetnel - 12-12-2015

(12-12-2015, 17:13)spyto a écrit :  Il me semble me rappeler qu'il faut utiliser qq part chdir...

Un peu de lecture :
http://mybb.support/thread-6914.html

http://mybb.support/thread-6912.html
http://mybb.support/thread-6907.html
http://mybb.support/thread-6454.htm

Code PHP :
$dir getcwd();

$url_list explode('/'$dir);

$GLOBALS['identifiant'] = $url_list[7];


chdir('/var/www/virtual/sqliteblog.fr/htdocs/forum/'); // répertoire du forum
define("IN_MYBB"1);
require 
'global.php';
chdir('/var/www/virtual/sqliteblog.fr/htdocs/blog/'.$GLOBALS['identifiant'].'/admin/'); 

Chdir me donne le même resultat.

J'ai essayé de changer comme ici : http://mybb.support/thread-6912.html.

cookiedomain : .sqliteblog.Fr
cookiepath : /
cookieprefix : forum

Je n'arrive plus à me connecter à mon forum, à part l'admin.

Edit: même si je remets

cookiedomain : .sqliteblog.Fr
cookiepath : /forum/

Ca ne marche plus, obligé de remettre une backup.

J'ai bien vidé le cache du navigateur, les cookies ... j'ai testé sur un autre navigateur ...


RE: Utiliser les identifiants de mybb pour un blog. - julienetnel - 12-12-2015

J'ai fais une réinstallation, ça marche ... je ne sais pas d'où sa vient.

Voici la procédure que j'ai fais pour relier blogotext à mybb :

Le dossier du blog doit avoir le même nom que le pseudo sur le forum.

Remplacer operate_session(); par include 'verif.php'; dans les fichiers dans le dossier admin.

Créer un fichier verif.php avec le contenu suivant
Code PHP :
<?php

// Afficher les erreurs à l'écran
ini_set('display_errors'1);

$dir getcwd();

$url_list explode('/'$dir);

$GLOBALS['identifiant'] = $url_list[7];

chdir('/var/www/virtual/sqliteblog.fr/htdocs/forum/'); // répertoire du forum
define("IN_MYBB"1);
require 
'global.php';
chdir('/var/www/virtual/sqliteblog.fr/htdocs/blog/'.$GLOBALS['identifiant'].'/admin/');

if(
$mybb->user['uid'] > 0){

if(
$mybb->user['username'] == $GLOBALS['identifiant'])
{


else
{
header("Location: http://sqliteblog.Fr/forum/index.php");
}

}

else
{
header("Location: http://sqliteblog.fr/forum/index.php");


A l'installation du forum mettre ceci :
cookiedomain : .votredomaine.com
cookiepath : /forum/

C'est tout, je pense.

Vous pouvez mettre en résolu, si d'autres blogueurs utilisent blogotext et veulent le relier leur(s) blogs à mybb, c'est la marche à suivre.

Merci pour l'aide, bonne soirée.


RE: Utiliser les identifiants de mybb pour un blog. - Jules - 13-12-2015

Bonjour, julienetnel.
Il semblerait que votre demande d'aide soit résolue. C'est pourquoi cette discussion a été marquée du préfixe [Réglé].

Si vous n'avez toujours pas trouvé les réponses que vous cherchiez, merci de répondre à cette discussion afin que nous annulions ce marquage.
N'hésitez pas à commencer une nouvelle discussion si vous rencontrez d'autres problèmes dans le futur.


 Utilitaire de traduction fourni par Regentronique