dark_vidor Posted April 29, 2010 Share Posted April 29, 2010 Bonjour à tous (et à toutes ),J'ai découvert prestashop il y a peu, je souhaite l'utiliser pour mon site associatif qui est basé sur PHPBB3.J'ai donc cherché dans les fichiers pour voir comment la connexion était effectuée, comment le mot de passe est crypté etc ...J'ai je pense trouvé une solution 'simple' pour intégrer Prestashop avec les sessions PHPBB3.Je vais remplacer la page authentification par un 'bridge' qui permettra une connexion automatique. Fichier : config.inc.php //Je fait mes include phpbb standard define('IN_PHPBB', true); $phpbb_root_path = './forum/'; $phpEx = substr(strrchr(__FILE__, '.'), 1); include($phpbb_root_path . 'common.' . $phpEx); $user->session_begin(); $auth->acl($user->data); $user->setup(); Fichier : authentification.php //je vire tout et je remplace par mon bridge ... if ($user->data['is_registered']) { //Si envoie du formulaire de création de compte. if (Tools::isSubmit('submitAccount')) { //J'adapte ... } //si l'id_customer existe //requête préalable if ( $id_customer ) { //Le profil Prestashop existe //On connecte le profil repris de la condition : if (Tools::isSubmit('SubmitLogin')) //A ADAPTER !!! //les user_id (phpbb3) seront les mêmes que les id_customer // //je vais donc connecter les gens via l'id //je fait donc une requête pour récupérer l'email suivant l'id ... $customer = new Customer(); //sans mot de passe ça doit être possible ... //sinon je change le mot de pass en varchar(40) et je vérifie mot de passe crypté phpbb = mot de pass customer ... sachant que c'est pas la même méthodes de cryptage ... $authentication = $customer->getByemail(trim($email), trim($passwd)); /* Handle brute force attacks */ sleep(1); if (!$authentication OR !$customer->id) $errors[] = Tools::displayError('authentication failed'); else { $cookie->id_customer = intval($customer->id); $cookie->customer_lastname = $customer->lastname; $cookie->customer_firstname = $customer->firstname; $cookie->logged = 1; $cookie->passwd = $customer->passwd; $cookie->email = $customer->email; if (Configuration::get('PS_CART_FOLLOWING') AND (empty($cookie->id_cart) OR Cart::getNbProducts($cookie->id_cart) == 0)) $cookie->id_cart = intval(Cart::lastNoneOrderedCart(intval($customer->id))); $id_address = intval(Address::getFirstCustomerAddressId(intval($customer->id))); $cookie->id_address_delivery = $id_address; $cookie->id_address_invoice = $id_address; Module::hookExec('authentication'); if ($back = Tools::getValue('back')) Tools::redirect($back); Tools::redirect('my-account.php'); } else { //Création du profil Prestashop //On affiche le formulaire } } else { //Login PHPBB login_box( 'url redirection ici' ); } Qu'en pensez vous ?Y'a t il un gros risque de sécurité à opérer ainsi ? Link to comment Share on other sites More sharing options...
Gregory Roussac Posted April 30, 2010 Share Posted April 30, 2010 Bonjour,Tu as l'air des savoir ce que tu fais. Au niveau securité si tu conserves le système de token, je ne vois pas ce qui peut t'empecher de te faire ton bridge. Très intéressant en tout cas comme objectif. Par contre topic mal placé, ce n'est pas de l'intégration de solutions ici mais XHTML lol =)Cordialement, Link to comment Share on other sites More sharing options...
Gregory Roussac Posted April 30, 2010 Share Posted April 30, 2010 Apparement pas mal de gens s'y sont intéressés !http://www.prestashop.com/forums/viewthread/19051/offer_bids_and_prestations/forum_phpbb3_forum_integrated_with_prestashopCordialement, Link to comment Share on other sites More sharing options...
Atch Posted April 30, 2010 Share Posted April 30, 2010 Bonjour,Tu as l'air des savoir ce que tu fais. Au niveau securité si tu conserves le système de token, je ne vois pas ce qui peut t'empecher de te faire ton bridge. Très intéressant en tout cas comme objectif. Par contre topic mal placé, ce n'est pas de l'intégration de solutions ici mais XHTML lol =)Cordialement, Sujet DéplacéEncore Merci Gregory V++Atch Link to comment Share on other sites More sharing options...
dark_vidor Posted April 30, 2010 Author Share Posted April 30, 2010 désolé pour avoir posté au mauvais endroit :red: j'ai bien trouvé des bridge pour faire l'inverse, monter une boutique et intégrer phpbb dedans, mais moi je veux faire l'inverse ... si je fait ça tout mon site ne fonctionnera plus :ohh: Au niveau securité si tu conserves le système de token, je ne vois pas ce qui peut t’empecher de te faire ton bridge. Qu'entendez vous par là ?Normalement j'y touche pas à ce système ... puisque je vais me servir juste de ma session phpbb pour ouvrir automatiquement celle de prestashop ... Link to comment Share on other sites More sharing options...
Gregory Roussac Posted April 30, 2010 Share Posted April 30, 2010 Eh bien un peu partout sur les points importants il faut envoyer un token au controleur. Je te laisse faire car tu sembles savoir ou tu vas, mais il me semble juste que pour se loguer il faut aussi communiquer un token, en principe....Bon week end. Link to comment Share on other sites More sharing options...
dark_vidor Posted May 6, 2010 Author Share Posted May 6, 2010 Bon ça commence mal rien que le fait de mettre la base phpbb pour récupérer la session ça fou la zone ...Je peux plus faire de commande si je rajoute ça dans le fichier init : define('IN_PHPBB', true); $phpbb_root_path = '/homez.335/gtrsbosn/www/forum/'; $phpEx = substr(strrchr(__FILE__, '.'), 1); include($phpbb_root_path . 'includes/utf/utf_normalizer.php'); include($phpbb_root_path . 'common.php'); $user->session_begin(); $auth->acl($user->data); $user->setup(); et j'ai beau essayer de chercher je vois pas Link to comment Share on other sites More sharing options...
dark_vidor Posted October 25, 2010 Author Share Posted October 25, 2010 Cela fait quelques temps que j'ai mis de coté ce projet, mais je souhaite revenir dessus maintenant que j'ai un peu de temps à y consacrer.Je me suis donc de nouveau pencher sur la question, et avant tout j'aimerai savoir comment le login est gerer dans prestashop, à quelle fonction est-il fait appel ? J'ai bien fait quelques essais, mais je ne trouve rien de concluant Merci pour votre aide... Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now