Ciavattella Posted June 24, 2019 Share Posted June 24, 2019 Bonjour, Lors de la création du compte par le client, une fenêtre Erreur 500 s'affiche pour lui, et à la vérification, je constate qu'il s'agit d'un problème de longueur de mot de passe, en tous cas, le message suivant est affiché : La longueur du champ Customer->passwd est actuellement 60 caractères. Il doit être entre 0 et 32 caractères. at line 984 in file classes/ObjectModel.php. Je butte depuis plusieurs jours sur ce problème que je ne parviens pas à résoudre. Quelqu'un peut-il m'aider ? Merci beaucoup pour votre contribution. Noël Link to comment Share on other sites More sharing options...
Eolia Posted June 24, 2019 Share Posted June 24, 2019 Vous n'auriez pas effectué une migration de 1.6 vers 1.7 par hasard ? Et, si ce n'est pas le cas, n'auriez vous pas un override sur la classe customer ? Link to comment Share on other sites More sharing options...
Ciavattella Posted June 24, 2019 Author Share Posted June 24, 2019 Merci pour votre retour. La migration fût en effet de 1.6.4 à 1.7.5 exactement mais pas manuellement, uniquement via le «one click upgrade» de Prestashop et leurs instructions relatives à cette migration, des modules uniquement de Prestashop ou recommandés, aucun autre module en dehors, et d'ailleurs, tout s'est très bien passé. Il n'y a aucun override excepté celui de ContactController en Front, rien en Customer. Merci encore de poursuivre votre suivi. Noël 1 Link to comment Share on other sites More sharing options...
Eolia Posted June 24, 2019 Share Posted June 24, 2019 Bah ce n'est pas possible, la classe customer est définie comme suit en 1.7: Et dans l'upgrade de la 1.7.5: ALTER TABLE `PREFIX_customer` CHANGE `company` `company` VARCHAR(255), CHANGE `email` `email` VARCHAR(255) NOT NULL, CHANGE `passwd` `passwd` VARCHAR(255) NOT NULL; Link to comment Share on other sites More sharing options...
Ciavattella Posted June 24, 2019 Author Share Posted June 24, 2019 C'est exact, la classe Customer définit la longueur du mot de passe à 255. Par contre, dans la base de donnée, elle est fixée à 60 et il ne met permet pas de modification. Link to comment Share on other sites More sharing options...
doekia Posted June 24, 2019 Share Posted June 24, 2019 Oui la mise à jour 1.7.0.0 change la longueur du schéma: upgrade/sql/1.7.0.0.sql:ALTER TABLE `PREFIX_customer` CHANGE COLUMN `passwd` `passwd` varchar(60) NOT NULL; upgrade/sql/1.7.0.0.sql:ALTER TABLE `PREFIX_employee` CHANGE COLUMN `passwd` `passwd` varchar(60) NOT NULL; Oui, 2 fois de suite au cas ou ta base de données soit têtue 🙃 Link to comment Share on other sites More sharing options...
Ciavattella Posted June 24, 2019 Author Share Posted June 24, 2019 Ces longueur de schema passwd à 60 c''est ce que j'avais d'origine que j'ai modifié à 128, en modifiant la classe Customer à la même longueur. Cela n'apporte aucune solution malheureusement et j'obtiens cette capture d'écran en mode debug lorsque je fais un test d'une inscription pour un nouveau compte client : Link to comment Share on other sites More sharing options...
Eolia Posted June 24, 2019 Share Posted June 24, 2019 Vous avez du faire une belle soupe avec votre migration... /** * Check if hashed password is valid * PrestaShop supports both MD5 and `PASSWORD_BCRYPT` (PHP API) * The lengths are 32 (MD5) or 60 (`PASSWORD_BCRYPT`) * Anything else is invalid. * * @param string $hashedPasswd Password to validate * @param int $size * * @return bool Indicates whether the given string is a valid hashed password * * @since 1.7.0 */ public static function isHashedPassword($hashedPasswd) { return Tools::strlen($hashedPasswd) == 32 || Tools::strlen($hashedPasswd) == 60; } Donc en gros vous contrôlez à l'ancienne en md5 mais avec des fichiers qui envoient en bcrypt... Link to comment Share on other sites More sharing options...
Ciavattella Posted June 24, 2019 Author Share Posted June 24, 2019 Alors là, si vous parlez de «soupe», il faudra le dire à Prestashop (j'aimerais d'ailleurs que TTOINE du team Prestashop réponde à ce propos), car ma migration de 1.6.4 à 1.7.5 s'est passée sans problème, sans «bidouille», selon le process, en gros, comme suit : test de compatibilité sauvegarde des fichiers et bd mise en maintenance désactivation des modules (pas désinstallation) action sur "one click upgrade" en module processus de migration sans faille (interruption aucune, etc) via le «one click upgrade» configuration et activation des modules origine Prestashop ou/et recommandés importation de tous les médias (images, logos, etc) et voilà, «l'affaire est dans le sac», nickel tests de l'ensemble du site, y compris ouverture de nouveaux comptes clients qui a fonctionné ! mais oui oui (qui fonctionne par intermittence ! bizarrement !) encore maintenant ! Donc, s'il s'agit d'un problème de mode de cryptage des mots de passe, je sais qu'ils l'ont changé, et je peux comprendre, cela devrait au moins figurer dans une marche à suivre pour s'en conformer, à défaut d'être pris en charge par le «one click upgrade». La seule bidouille que j'ai faite c'est de modifier les schémas de longueur mot de passe et un override de Customer pour l'en conformer, mais je peux évidemment très vite revenir en arrière bien entendu. Merci pour votre suivi et celui du Team Prestashop peut-être. Noël Link to comment Share on other sites More sharing options...
ttoine Posted June 24, 2019 Share Posted June 24, 2019 Hello, c'est curieux que lors de la mise à jour, le champs n'ait pas été passé à 255 charactère. Il faudrait vérifier les droits sur les tables avec votre utilisateur Mysql configuré dans les paramètres de la boutique. On peut voir sur votre capture d'écran que certains champs sont verrouillés (la petite clé), ce qui a pu empêcher le script de migration de changer la taille. Faites le point avec l'administrateur de votre base de données, du coup. Link to comment Share on other sites More sharing options...
Eyal Krief Posted April 10, 2020 Share Posted April 10, 2020 bonjour étant dans le même problème je voulais savoir si vous avez trouvé une solution ??? Merci Link to comment Share on other sites More sharing options...
doekia Posted April 10, 2020 Share Posted April 10, 2020 Si tu as le même problème, alors applique la même solution. Sinon ouvre ton topic avec un maximum d'information sur ton problème afin que l'on puisse t'assister Link to comment Share on other sites More sharing options...
Eyal Krief Posted April 10, 2020 Share Posted April 10, 2020 4 minutes ago, doekia said: Si tu as le même problème, alors applique la même solution. Sinon ouvre ton topic avec un maximum d'information sur ton problème afin que l'on puisse t'assister oui mais je ne vois pas de solution...j'avoue que mes yeux fatiguent a force de chercher, mais je vais relire le post sinon j'ai ouvert un topic sur github et j'attend la reponse, mais là je perd des clients et la situation devient critique... merci de votre aide en tous les cas Link to comment Share on other sites More sharing options...
Eyal Krief Posted April 10, 2020 Share Posted April 10, 2020 (edited) pour plus de clarté j'ouvre un nouveau topic Edited April 10, 2020 by flash discount (see edit history) 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