Passerelle Forum/Site

Ce forum aborde toutes les questions qu'un codeur ou webmaster pourrait se poser, et n'ayant aucun rapport direct avec phpBB.
Tout ce qui peut concerner la récupération des sessions de phpBB sur votre site, doit se faire dans ce forum.

Modérateur: Equipe

[Réglé] Passerelle Forum/Site

Messagede Katoshy le 11 Mar 2008 à 22:26

Bonjour j'ai parcouru beaucoup de sujets concernant ce problème mais je n'est pas réussi à trouver mon problème ^^'
je précise en vérifiant je suis bien toujours en md5() donc voilà mon code : login.php
Code: Tout sélectionner
<?
$db = mysql_connect('---------', '---------', '---------');
mysql_select_db('---------',$db);

if(isset($_POST) && !empty($_POST['username']) && !empty($_POST['user_password'])) {
  extract($_POST);
  $req = mysql_query("SELECT username,user_password from phpbb_3users ") or die ("erreur sql ".mysql_error());

  $data = mysql_fetch_assoc($req);

  if($data['user_password'] != $user_password) {
    echo '<p>Mauvais login / password. Merci de recommencer</p>';
    include('login.html');
    exit;
  }
  else {
    session_start();
    $_SESSION['user_password'] = $username;
   
    echo 'Vous etes bien logué';
   header('Location: mapage.php');
  }   
}
else {
  echo '<p>Vous avez oublié de remplir un champ.</p>';
   include('login.html');
   exit;
}


?>


En résultat toujours une erreur car mauvais passe ce qui est normal mais où placer cette fonction md5() ?
merci d'avance :)
Dernière édition par Katoshy le 16 Mar 2008 à 22:50, édité 1 fois.
Katoshy
Posteur néophyte
Posteur néophyte
 
Messages: 49
Inscription: 06 Oct 2007 à 15:12

Re: Passerelle Forum/Site

Messagede ksar le 11 Mar 2008 à 23:16

SAlut,

ici je pense

Code: Tout sélectionner
  if($data['user_password'] != md5($user_password)) {


MAis ça marchera pas sur phpBB3

@+
Total in Love de phpBB :mrgreen:
Avatar de l’utilisateur
ksar
Roi des posts
Roi des posts
 
Messages: 581
Inscription: 24 Oct 2007 à 10:00
Localisation: IDF
Avertissements: 2

Re: Passerelle Forum/Site

Messagede Oyo le 11 Mar 2008 à 23:16

Salut,

Code: Tout sélectionner
if($data['user_password'] != md5($user_password))


.:Edit:.
Utilise à la place de md5() la fonction native de phpBB 3: phpbb_hash()
U-Web | Mods phpBB
Pas de support par MP ¦ MSN ¦ Mail ¦ Skype ¦ Téléphone ¦ Courrier Postal...

Cadeaux de Noël pour les enfants défavorisés, visitez http://www.monbeausapin.org
MonBeauSapin versera à l’opération “Arbres de Noël” de la Croix Rouge, une somme correspondant au nombre total de visites de leur site, ce don permettra d’offrir des cadeaux aux enfants défavorisés pour Noël.
Avatar de l’utilisateur
Oyo
Admini furtif
Admini furtif
 
Messages: 15065
Inscription: 12 Fév 2003 à 19:02
Localisation: Paris

Re: Passerelle Forum/Site

Messagede Katoshy le 12 Mar 2008 à 07:55

c'est bien ce que je pensais
Fatal error: Call to undefined function phpbb_hash() in /home/katoshy/site/la_guilde/login.php on line 14
voilà ce qu'on me met pour phpbb_hash()
et concernant le md5 il continu à m'afficher que le mot de passe où le login n'est pas bon donc je suppose qu'il n'arrive toujours pas à convertir mon mot de passe pour le comparer au passe de la base de donnée. mais je pense que mon phpbb fonctionne sous md5() j'ai bien regardé le fichier auth_db et c'est du md5().

dois-je l'insérer dans mon formulaire avec le champs de texte mot de passe? où est-ce bien ce fichier login qui reçoit les infos du formulaire et dois transformer le mot de passe?
Katoshy
Posteur néophyte
Posteur néophyte
 
Messages: 49
Inscription: 06 Oct 2007 à 15:12

Re: Passerelle Forum/Site

Messagede ErnadoO le 12 Mar 2008 à 09:39

Normal c'est une fonction phpBB3, si tu ne la déclares pas, ça risque pas de amrcher ;)

Pour cela il te faut utiliser le système de sessions de phpBB2, en plaçant ces lignes en haut du fichier:
Code: Tout sélectionner
define('IN_PHPBB', true);
define('IN_SITE', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
session_start();
$user->session_begin();
$auth->acl($user->data);
$user->setup('mods/site')
ErnadoO · Administrateur et responsable de l'équipe des MODs par intérim
Tu as l'âme d'un codeur? l'équipe des MODs recrute toute l'année!
Tout sur l'installation d'un MOD || Intro à la création de MOD || Erreurs fréquentes lors de l'installation de MODs || Mes MODS

phpBB-Services.com: L'hébergement et l'assistance de votre forum phpBB en toute tranquillité.
Dead zone: LA référence francophone sur la série télé Dead zone: photos, résumés, captures, videos, forum.
Aidez la SPA à nourrir un animal abandonné: http://www.clicanimaux.com/
Avatar de l’utilisateur
ErnadoO
Administrateur et resp. des codeurs
Administrateur et resp. des codeurs
 
Messages: 20522
Inscription: 21 Juin 2003 à 12:42
Localisation: Brest/Quimper/Calais

Re: Passerelle Forum/Site

Messagede ksar le 12 Mar 2008 à 10:27

ErnadoO a écrit:Normal c'est une fonction phpBB3, si tu ne la déclares pas, ça risque pas de amrcher ;)

Pour cela il te faut utiliser le système de sessions de phpBB2, en plaçant ces lignes en haut du fichier:
Code: Tout sélectionner
define('IN_PHPBB', true);
define('IN_SITE', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
session_start();
$user->session_begin();
$auth->acl($user->data);
$user->setup('mods/site')


Heu ErnadoO se que tu as donner est uniquement valable en phpBB3!

Et notre amis ne nous a toujours pas dit clairement en quel version de phpBB il est..

@+
Total in Love de phpBB :mrgreen:
Avatar de l’utilisateur
ksar
Roi des posts
Roi des posts
 
Messages: 581
Inscription: 24 Oct 2007 à 10:00
Localisation: IDF
Avertissements: 2

Re: Passerelle Forum/Site

Messagede ErnadoO le 12 Mar 2008 à 10:41

Je me base sur le fait que Katoshy n'ai pas protésté quand Oyo lui a suggéré phpbb_hash(), qui est une fonction phpbb3
ErnadoO · Administrateur et responsable de l'équipe des MODs par intérim
Tu as l'âme d'un codeur? l'équipe des MODs recrute toute l'année!
Tout sur l'installation d'un MOD || Intro à la création de MOD || Erreurs fréquentes lors de l'installation de MODs || Mes MODS

phpBB-Services.com: L'hébergement et l'assistance de votre forum phpBB en toute tranquillité.
Dead zone: LA référence francophone sur la série télé Dead zone: photos, résumés, captures, videos, forum.
Aidez la SPA à nourrir un animal abandonné: http://www.clicanimaux.com/
Avatar de l’utilisateur
ErnadoO
Administrateur et resp. des codeurs
Administrateur et resp. des codeurs
 
Messages: 20522
Inscription: 21 Juin 2003 à 12:42
Localisation: Brest/Quimper/Calais

Re: Passerelle Forum/Site

Messagede Oyo le 12 Mar 2008 à 13:50

C'est ce que j'allais dire en faite mais tu m'a pris de cours Ern, enfin pas eu le temps de venir avant..
U-Web | Mods phpBB
Pas de support par MP ¦ MSN ¦ Mail ¦ Skype ¦ Téléphone ¦ Courrier Postal...

Cadeaux de Noël pour les enfants défavorisés, visitez http://www.monbeausapin.org
MonBeauSapin versera à l’opération “Arbres de Noël” de la Croix Rouge, une somme correspondant au nombre total de visites de leur site, ce don permettra d’offrir des cadeaux aux enfants défavorisés pour Noël.
Avatar de l’utilisateur
Oyo
Admini furtif
Admini furtif
 
Messages: 15065
Inscription: 12 Fév 2003 à 19:02
Localisation: Paris

Re: Passerelle Forum/Site

Messagede Katoshy le 12 Mar 2008 à 14:00

je suis en phpbb3 mais bizarrement comme je l'ais dis avant quand je vais dans le fichier auth/auth_db.php contient la fonction md5() et non phpbb_hash normal?!
sinon je vais tester et je te dirais merci :)
Katoshy
Posteur néophyte
Posteur néophyte
 
Messages: 49
Inscription: 06 Oct 2007 à 15:12

Re: Passerelle Forum/Site

Messagede ErnadoO le 12 Mar 2008 à 14:06

ça c'est dans le cas ou le membre se connecte pour la 1er fois sur un phpBB3 convertis depuis phpBB2, afin de comparer avec le hash md5 présent dans le champ user_password, suite à quoi le pass est réencodé avec phpbb_hash() (c'est d'ailleurs la ligne juste en dessous dans autg_db.php)
ErnadoO · Administrateur et responsable de l'équipe des MODs par intérim
Tu as l'âme d'un codeur? l'équipe des MODs recrute toute l'année!
Tout sur l'installation d'un MOD || Intro à la création de MOD || Erreurs fréquentes lors de l'installation de MODs || Mes MODS

phpBB-Services.com: L'hébergement et l'assistance de votre forum phpBB en toute tranquillité.
Dead zone: LA référence francophone sur la série télé Dead zone: photos, résumés, captures, videos, forum.
Aidez la SPA à nourrir un animal abandonné: http://www.clicanimaux.com/
Avatar de l’utilisateur
ErnadoO
Administrateur et resp. des codeurs
Administrateur et resp. des codeurs
 
Messages: 20522
Inscription: 21 Juin 2003 à 12:42
Localisation: Brest/Quimper/Calais

Re: Passerelle Forum/Site

Messagede Katoshy le 12 Mar 2008 à 14:16

Donc nouveau code ^^
Code: Tout sélectionner
<?
$db = mysql_connect('------------', '------------', '------------');
mysql_select_db('------------',$db);

session_start();
$user->session_begin();
$auth->acl($user->data);
$user->setup('mods/site');

define('IN_PHPBB', true);
define('IN_SITE', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

if(isset($_POST) && !empty($_POST['username']) && !empty($_POST['user_password'])) {
  extract($_POST);
  $req = mysql_query("SELECT username,user_password from phpbb_3users ") or die ("erreur sql ".mysql_error());

  $data = mysql_fetch_assoc($req);

  if($data['user_password'] != phpbb_hash($user_password)) {
    echo '<p>Mauvais login / password. Merci de recommencer</p>';
    include('login.html');
    exit;
  }
  else {
    session_start();
    $_SESSION['user_password'] = $username;
   
    echo 'Vous etes bien logué';
   header('Location: mapage.php');
  }   
}
else {
  echo '<p>Vous avez oublié de remplir un champ.</p>';
   include('login.html');
   exit;
}

?>

et message d'erreur : Fatal error: Call to a member function session_begin() on a non-object in /home/katoshy/site/la_guilde/login.php on line 6

Et merci pour l'info concernant md5() :)
Dernière édition par Katoshy le 12 Mar 2008 à 14:39, édité 1 fois.
Katoshy
Posteur néophyte
Posteur néophyte
 
Messages: 49
Inscription: 06 Oct 2007 à 15:12

Re: Passerelle Forum/Site

Messagede ksar le 12 Mar 2008 à 14:35

Katoshy a écrit:et message d'erreur : Fatal error: Call to a member function session_begin() on a non-object in /home/katoshy/site/la_guilde/login.php on line 6

Et merci pour l'info concernant md5() :)


Essaye ça :

Code: Tout sélectionner
<?

define('IN_PHPBB', true);
define('IN_SITE', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

$db = mysql_connect('localhost', '****', '********);
mysql_select_db('katoshy',$db);

session_start();
$user->session_begin();
$auth->acl($user->data);
$user->setup('mods/site');

if(isset($_POST) && !empty($_POST['username']) && !empty($_POST['user_password'])) {
  extract($_POST);
  $req = mysql_query("SELECT username,user_password from phpbb_3users ") or die ("erreur sql ".mysql_error());

  $data = mysql_fetch_assoc($req);

  if($data['user_password'] != phpbb_hash($user_password)) {
    echo '<p>Mauvais login / password. Merci de recommencer</p>';
    include('login.html');
    exit;
  }
  else {
    session_start();
    $_SESSION['user_password'] = $username;
   
    echo 'Vous etes bien logué';
   header('Location: mapage.php');
  }   
}
else {
  echo '<p>Vous avez oublié de remplir un champ.</p>';
   include('login.html');
   exit;
}

?>


mais ça risque de planter car phpBB déclare une connection BD avec le pointeur $db.

@+
Total in Love de phpBB :mrgreen:
Avatar de l’utilisateur
ksar
Roi des posts
Roi des posts
 
Messages: 581
Inscription: 24 Oct 2007 à 10:00
Localisation: IDF
Avertissements: 2

Re: Passerelle Forum/Site

Messagede Katoshy le 12 Mar 2008 à 14:47

je confirme ça plante ^^
Warning: include(./forum/common.php) [function.include]: failed to open stream: No such file or directory in /home/katoshy/site/la_guilde/login.php on line 7

Warning: include() [function.include]: Failed opening './forum/common.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /home/katoshy/site/la_guilde/login.php on line 7

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/katoshy/site/la_guilde/login.php:7) in /home/katoshy/site/la_guilde/login.php on line 12

Fatal error: Call to a member function session_begin() on a non-object in /home/katoshy/site/la_guilde/login.php on line 13
Katoshy
Posteur néophyte
Posteur néophyte
 
Messages: 49
Inscription: 06 Oct 2007 à 15:12

Re: Passerelle Forum/Site

Messagede ErnadoO le 12 Mar 2008 à 14:56

ksar a écrit:mais ça risque de planter car phpBB déclare une connection BD avec le pointeur $db.

Désolé mais c'est tout a fait possible de se connecter à une seconde base en plein milieu d'une page phpBB, je l'ai fais pour phppp-services.
De plus, une classe peut être instanciée plusieurs fois.

Donc en fait, le problème de Katoshy n'a rien à voir, c'est juste que le script ne trouve pas le fichier forum/common.php il faut evidemmer spécifier le bon chemin vers le fichier common.php utilisé par phpBB3
ErnadoO · Administrateur et responsable de l'équipe des MODs par intérim
Tu as l'âme d'un codeur? l'équipe des MODs recrute toute l'année!
Tout sur l'installation d'un MOD || Intro à la création de MOD || Erreurs fréquentes lors de l'installation de MODs || Mes MODS

phpBB-Services.com: L'hébergement et l'assistance de votre forum phpBB en toute tranquillité.
Dead zone: LA référence francophone sur la série télé Dead zone: photos, résumés, captures, videos, forum.
Aidez la SPA à nourrir un animal abandonné: http://www.clicanimaux.com/
Avatar de l’utilisateur
ErnadoO
Administrateur et resp. des codeurs
Administrateur et resp. des codeurs
 
Messages: 20522
Inscription: 21 Juin 2003 à 12:42
Localisation: Brest/Quimper/Calais

Re: Passerelle Forum/Site

Messagede Katoshy le 12 Mar 2008 à 15:08

haaaaa ok je n'avais pas vu qu'il fallait faire un adressage depuis le forum je vais tenter tout de suite et je tient au courant je suppose que pour sortir du site et eller au forum je dois travailler le code de cette manière :

$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : '././forum/';
Katoshy
Posteur néophyte
Posteur néophyte
 
Messages: 49
Inscription: 06 Oct 2007 à 15:12

Suivante

Retourner vers Coding, Webmastering et Sécurité informatique

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 invités

Liens : phpBB.biz • phpBBHacks.com • phpBB-Seo.com • EzCom-fr.com • phpBB-Services.com • phpBB3 Styles • phpBB podpora • Net Avenir • PromoBenef • Ticket Gagnant •