Bonjour,
Je viens de développer un blog avec cakephp3. C'est ma première expérience avec cette version, j'ai fait un blog en cakephp2 sans problème chez le même hébergeur.<br>
En local, sur un serveur wamp avec win8 ça marche normalement.
Lors de l'enregistrement (signup) le user est créé avec son mot de passe crypté (exemple d'authenfication sur la doc).<br>
Par contre, le site installé chez ovh en mutualisé, ne crypte pas le mot de passe du user, qui ne peut pas se 'loguer' puisque le mot de passe qui devrait être crypté ne l'est pas...<br>
Je tourne en rond depuis plusieurs jours, estce que quelqu'un peut m'aiguiller ? merci d'avance!
Pour compléter ma question, j'ai placer un debug avec die() avant et après cryptage dans la fonction Entity/User/_setPassword, dans le cas du localhost, j'ai de bonnes valeurs, par contre, sur le serveur d'ovh rien n'apparait comme si la fonction n'était pas appelé...
Chez OVH, quel est ton serveur HTTP (Nginx, Apache ... ) ?
Et surtout est-ce que l'un des modules mycrpt ou openssl est installé et activé ?
Tu as des détails dans les logs de ton serveur http ? (exemple pour nginx : /var/log/nginx/nginx.error)
Après courte recherche, il semblerait que la fonction DefaultPasswordHasher::hash() retourne password_hash () qui appelle une des fonctions crypt, openssl selon disponibilité, je ne suis pas sur, mais il se peut que ton serveur de production n'ait pas ces modules.
Tu as un serveur mutualisé ? Ou un dédié ?
Merci à T-C pour sa réponse. Cela me permet de préciser ma recherche.
Donc pour plus de détails:
La version de PHP est 5.4.38,
OpenSSL est enabled (0.9.80 01 juin 2010),
hash support: enabled,
hashing engines: md2/4/5 sha1/224/256/384/512 ... pleins d'autres mais pas bcrypt qui d'après la doc cakephp3 est utilisé par DefaultPasswordHasher.
Le site est mutualisé sur un système linux/apache.
voilà pour l'instant... à suivre
Si bcrypt n'est pas activé sur ton serveur et que DefaultPasswordHasher l'utilise, il ne faut pas aller chercher plus loin.
tu peux changer ta version de php en editant le fichier .ovhconfig
app.engine=php
app.engine.version=5.5
http.firewall=none
environment=production
il y a la 5.6 de disponible aussi