Jump to content

Utilisation des utilisateurs de PS dans un autre siteweb


Recommended Posts

Bonjour,

En fait j'ai créé une sorte de blog a coté de mon site e commerce, et sur ce blog je souhaite que les membres puissent se connecter a un espace membre. Et donc pour s'y connecter, utiliser le même email et mot de passe que ceux enregistré dans la BDD prestashop.

J'ai bien réussi a vérifié si l'email existe bien, cependant avec le système de cryptage du password client, je n'arrive pas a tester si celui ci est le bon.

Savez vous comment faire pour utiliser le password de la table ps_customer (clients)?

Merci pour votre aide! :)

Cordialement,

Quentin

Link to comment
Share on other sites

Dans la classe Tools.php, tu as ce bout de code :

   static public function encrypt($passwd)
   {
       return md5(pSQL(_COOKIE_KEY_.$passwd));
   }



En clair, les mots de passe sont cryptés en MD5, mais ils sont avant concaténés avec une Key unique, que tu trouveras dans le fichier de config settings.inc.php dans le dossier Config.

Link to comment
Share on other sites

Merci pour votre réponse,

j'ai bien testé celà, mais pSQL je ne le trouvais pas donc j ai inclus ces fichier dans mon fichier connexion.php qui test l email et le mot de passe:


**************************************************************************************

include('../prestashop/config/settings.inc.php');
include('../prestashop/classes/Tools.php');
include('../prestashop/classes/Db.php');


Ainsi dans mon fichier connexion.php (qui recoit l email et le mot de passe), j y ai mis:

$email = htmlspecialchars($_POST['email']);
$mot_passe = htmlspecialchars($_POST['passwd']);

$sql_infos = mysql_query("SELECT * FROM ps_customer WHERE email='".$email."'");
$donnees = mysql_fetch_assoc($sql_infos);

//Comparaison du mot de passe.
if ((md5(pSQL(_COOKIE_KEY_.$mot_passe))) == $donnees['secure_key'])
{

echo "ok";
}
//Informe que le mot de passe est incorrect
else
{
echo "pas ok";
}


**************************************************************************************

Voici le resultat:

Notice: Use of undefined constant _PS_MAGIC_QUOTES_GPC_ - assumed '_PS_MAGIC_QUOTES_GPC_' in C:\wamp\www\store\classes\Db.php on line 255

Notice: Use of undefined constant _PS_MYSQL_REAL_ESCAPE_STRING_ - assumed '_PS_MYSQL_REAL_ESCAPE_STRING_' in C:\wamp\www\store\classes\Db.php on line 259

pas ok



merci pour votre aide

Link to comment
Share on other sites

J'ai trouvé! Ca marche! Merci

J'ai tout regroupé dans mon fichier connexion.php:



/*FONCTIONS NECESSAIRE AU CRYPTAGE MOT DE PASSE*/

   include('../store/config/settings.inc.php');
   //include('../store/classes/Tools.php');
   //include('../store/classes/Db.php');
   define('_PS_MYSQL_REAL_ESCAPE_STRING_', function_exists('mysql_real_escape_string'));
   define('_PS_MAGIC_QUOTES_GPC_', get_magic_quotes_gpc());

   /**
   * Convert \n to 

   * @param string $string String to transform
   * @return string New string
   */
   function nl2br2($string)
   {
   return str_replace(array("\r\n", "\r", "\n"), '
', $string);
   }


   /* Sanitize data which will be injected into SQL query
   *
   * @param string $string SQL data which will be injected into SQL query
   * @param boolean $htmlOK Does data contain HTML code ? (optional)
   * @return string Sanitized data
   */
   function pSQL($string, $htmlOK = false)
   {
       if (_PS_MAGIC_QUOTES_GPC_)
           $string = stripslashes($string);
       if (!is_numeric($string))
       {
           $string = _PS_MYSQL_REAL_ESCAPE_STRING_ ? mysql_real_escape_string($string) : addslashes($string);
           if (!$htmlOK)
               $string = strip_tags(nl2br2($string));
       }

       echo "->".$string."
";
       return $string;
   }

   /**
   * Encrypt password
   *
   * @param object $object Object to display
   */
   function encrypt($passwd)
   {
       return md5(pSQL($passwd));
   }

/*FIN DES FONCTIONS*/




ainsi je test avec :

if (encrypt(_COOKIE_KEY_.$mot_passe) == $donnees['passwd'])

alors c est bon celà vérifie bien avec bon cryptage :)

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...