14, Avr 2024
PrestaShop 1.7 : la demande de réinitialisation de mot de passe a expiré

Dans le monde du e-commerce, chaque minute d’arrêt ou problème technique peut coûter cher. Aujourd’hui, nous allons aborder un problème courant rencontré par de nombreux utilisateurs de PrestaShop 1.7 : le bug d’expiration de la demande de réinitialisation de mot de passe et comment y remédier efficacement et facilement.

Le problème

Vous avez peut-être été confronté à la situation frustrante où votre client réalise une demande de réinitialisation de mot de passe sur PrestaShop 1.7 et celle-ci expire avant même qu’il n’ait pu définir un nouveau mot de passe. Ce problème peut survenir pour plusieurs raisons, souvent liées à des problèmes de configuration ou de temps de session.

La solution

Pour résoudre ce problème, vous pouvez modifier le code source de PrestaShop 1.7 pour assurer une réinitialisation efficace et sécurisée du mot de passe. Voici les étapes détaillées :

  1. Ouvrez le fichier concerné : Commencez par ouvrir le fichier PasswordController.php situé dans le répertoire /controllers/front/.
  2. Modifiez le code : Recherchez la ligne contenant $customer->stampResetPasswordToken();. Cette fonction est utilisée pour marquer le jeton de réinitialisation du mot de passe. Juste après cette ligne, ajoutez le code suivant :
$customer->passwd = $this->get('hashing')->hash($password = md5(random_bytes(1024)), COOKIE_KEY);

Pourquoi cette méthode ?

Cette méthode permet de sécuriser le processus de réinitialisation en s’assurant que le nouveau mot de passe est robuste et pratiquement impiratable. Elle utilise random_bytes(1024) pour créer un mot de passe aléatoire complexe, et md5 pour le crypter avant de le hasher avec la clé de cookie du site (COOKIE_KEY).

Besoin d’aide ?

Si vous rencontrez des difficultés pour mettre en œuvre cette solution ou si vous avez d’autres questions relatives à PrestaShop, n’hésitez pas à me contacter. Mon objectif est de vous aider à optimiser votre site e-commerce pour qu’il soit sécurisé et performant.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *