ColonelMoutarde Posted March 25, 2015 Share Posted March 25, 2015 Bonjour, Pour un développement d'un module, j'ai besoin de sauvegarder la valeur d'un mot de passe. Il est de ce type : d9e4ogrgrgQu5qoDl4htyVex+GuAnxttggDsE1Gib9nFY= il est refusé par prestashop. D’après ce que j'ai compris, c'est la valeur de l'expression régulière qui coince lors de la vérification du champ par la méthode statique ::getValue. public static function getValue($key, $default_value = false) { if (!isset($key) || empty($key) || !is_string($key)) return false; $ret = (isset($_POST[$key]) ? $_POST[$key] : (isset($_GET[$key]) ? $_GET[$key] : $default_value)); if (is_string($ret)) return stripslashes(urldecode(preg_replace('/((\%5C0+)|(\%00+))/i', '', urlencode($ret)))); return $ret; } Comment faire pour que ma valeur soit sauvegardée ? Merci de votre aide Link to comment Share on other sites More sharing options...
frieurieud Posted March 25, 2015 Share Posted March 25, 2015 (edited) As-tu essayer de faire une fonction de type getValue (getMdp par exemple) mais seulement pour la vérification des mots de passe ? Edited March 25, 2015 by frieurieud (see edit history) Link to comment Share on other sites More sharing options...
ColonelMoutarde Posted March 25, 2015 Author Share Posted March 25, 2015 Bonjour, La méthode getValue fait partie de prestashop, si je rajoute une méthode ou que je la modifie, elle risque d'être écrasé à la prochaine mise à jour. Link to comment Share on other sites More sharing options...
frieurieud Posted March 25, 2015 Share Posted March 25, 2015 (edited) Je suis d'accord mais tu peux étendre la classe Tools.php dans l'override. Edited March 25, 2015 by frieurieud (see edit history) Link to comment Share on other sites More sharing options...
ColonelMoutarde Posted March 25, 2015 Author Share Posted March 25, 2015 (edited) Oui c'est vrai mais mes modifications vont impacter tous le framework avec de potentiels failles de sécurité alors que si cela se trouve, il faut juste que j'utilise une autre méthode pour ce champ, par contre je ne sait pas laquelle. Edited March 25, 2015 by ColonelMoutarde (see edit history) Link to comment Share on other sites More sharing options...
J. Danse Posted March 25, 2015 Share Posted March 25, 2015 Bonjour, En fait, je ne comprends pas le soucis. Qu'est-ce qui se passe ? Vous tentez quelque chose du style de $value = Tools::getValue('mdp'); et la variable ne comporte pas le bon contenu ou c'est à un autre moment, sur le coup ? Link to comment Share on other sites More sharing options...
frieurieud Posted March 25, 2015 Share Posted March 25, 2015 Excuse moi mais j'ai du mal à comprendre ton souci. Que veux tu faire exactement de ton mot de passe, le sauvegarder dans une bdd ? Qui traite la récupération ? ton module je suppose Donne moi plus de détail stp afin que je comprenne mieux. 1 Link to comment Share on other sites More sharing options...
ColonelMoutarde Posted March 25, 2015 Author Share Posted March 25, 2015 (edited) Je récapitule avec plus de détails : Je suis en train de créer un module, ce module doit se connecter à un webservice sur un autre serveur... J'ai donc un login et un mot de passe que j'ai décidé de stocker dans la table configuration, pour cela j'ai fait un formulaire qui est affiché après un clique sur le bouton configuer. Pour le champ login pas de soucis presta me revoie que tous va bien. Pour le mot de passe il n'est pas d'accord si je lui met le mot de passe fourni par l'api du webservice. Si je met un texte bidon, presta me l'enregistre mais si je met cette chaine de caractère, il la refuse et la considère invalide. Edited March 25, 2015 by ColonelMoutarde (see edit history) Link to comment Share on other sites More sharing options...
frieurieud Posted March 25, 2015 Share Posted March 25, 2015 C'est donc à ton module de faire la vérification de la bonne saisie du mot de passe. Tu créé une fonction pour cela avec l'aide d'une expression régulière, que tu place dans le controller ou une classe de ton module. Tu ne peux pas utiliser getValue car elle elle ne prend pas les caractères spéciaux. Link to comment Share on other sites More sharing options...
frieurieud Posted March 25, 2015 Share Posted March 25, 2015 Regarde sur le net tu as plein de tutos sur les expressions régulières ainsi que des explications sur la sécurisation des mots de passe saisies Link to comment Share on other sites More sharing options...
ColonelMoutarde Posted March 25, 2015 Author Share Posted March 25, 2015 ok merci 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