Mot-clef « Hachage »

Quelques trucs sur PHP #4

Désactivation du “smart backspace” dans PHP Storm

Suite à une mise à jour de PHP Storm j’étais agacé par un problème d’indentation automatique qui forcément ne fonctionnait pas comme je voulais… En cherchant un peu j’ai fini par trouver.

Dans les préférences : Editor > General > Smart keys, rechercher l’option Smart Backspace et la passer à disabled.

C’est donc raccord avec l’adage qui dit que quand y a smart dans le nom, faut s’en méfier (en général c’est de la merde) :)

Erreur Composer

J’avais le message d’erreur suivant lorsque je tentais un self-update de Composer :

SHA384 is not supported by your openssl extension, could not verify the phar file integrity

En faisant quelques recherche j’ai rien trouvé de mieux que de désinstaller Composer puis de le réinstaller…

Puis en regardant la liste des options du self-update je suis tombé sur l’option rollback, j’ai tenté à tout hasard et ça a fonctionné, après ça j’ai pu mettre à jour normalement \o/

php composer.phar self-update -r
php composer.phar self-update

Hachage des mots de passe

Un petit mot sur un point truc que j’ai résolu il y a un moment déjà mais dont je n’avais pas parlé parce que ça ne me semblait pas justifier un article dédié…

Ça fait un moment que PHP propose une API pour le hachage de mots de passe en vue de les stocker dans une base de données.

Il se trouve que j’ai toujours des forums sous PHPBB 2 (trop customisés pour mettre à jour vers les majeures suivantes), datant d’avant que cette API soit disponible et donc ne s’en servant pas (le standard à l’époque c’était de stocker un MD5 c’est donc ça que j’avais dans ma base de données).

Pendant un (long) moment j’ai repoussé le chantier de sécurisation parce que je ne voyais pas de manière propre de gérer ça : n’ayant pas le mot de passe en clair, je ne pouvais pas simplement convertir les mots de passe existants et ne sécuriser que les nouveaux me paraissait bancal.

Puis l’évidence m’a sauté aux yeux : il suffisait de hacher le MD5 plutôt que le mot de passe en clair et de refiler systématiquement le MD5 à l’API lors des vérifications. De cette manière une procédure automatique pouvait me mettre à jour ma base et régler le problème. En 30 minutes c’était plié.

Rétrospectivement c’est évident mais ça a mis du temps à me sauter aux yeux donc si ça peut servir à d’autres…