Corser un mot de passe
Résolu
A voir également:
- Corser un mot de passe
- Trousseau mot de passe iphone - Guide
- Mot de passe - Guide
- Mot de passe administrateur - Guide
- Voir mot de passe wifi android - Guide
- Mot de passe bios perdu - Guide
2 réponses
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
526
25 août 2021 à 13:22
25 août 2021 à 13:22
Bonjour,
Si tu veux vérifier la présence de certains caractères dans le mot de passe en php avec preg_match(), il faut donc construire une expression régulière qui correspond aux caractères autorisées.
Si tu veux apprendre à créer toi même cette regex (expression régulière), tu peux suivre un des nombreux tutos disponibles en ligne (un au hasard avec des exemples : https://www.zendevs.xyz/les-expressions-regulieres-en-php-regex/.
Si tu n'arrives pas à créer la regex attendue, tu devrais également trouver pleins d'exemples via ton moteur de recherche favoris avec les termes "php password preg_match".
Enfin rien à voir avec la demande initiale mais la formation suivi ne semble pas très à jour, quelques remarques en vrac :
- sha1 ou md5 ne sont pas recommandés pour sécuriser les mots de passe, tu devrais plutôt utiliser la fonction php password_hash() (et password_verify() pour vérifier le mdp) disponible depuis PHP 5.5 (2013).
- Pourquoi utiliser addslashes() lors de la récupération des variables ? Si c'est pour éviter les injections sql, il faudrait plutôt utiliser les requêtes préparées avec PDO dans la fonction createUser() si ce n'est pas déjà le cas. A part altérer les données, addslashes() ne semble pas utile ici.
- Il faudrait utiliser htmlentities() lors de la concaténation des variables php dans le corps du mail html et lors de l'affichage des variables php dans le document html pour éviter les failles xss
Si tu veux vérifier la présence de certains caractères dans le mot de passe en php avec preg_match(), il faut donc construire une expression régulière qui correspond aux caractères autorisées.
Si tu veux apprendre à créer toi même cette regex (expression régulière), tu peux suivre un des nombreux tutos disponibles en ligne (un au hasard avec des exemples : https://www.zendevs.xyz/les-expressions-regulieres-en-php-regex/.
Si tu n'arrives pas à créer la regex attendue, tu devrais également trouver pleins d'exemples via ton moteur de recherche favoris avec les termes "php password preg_match".
Enfin rien à voir avec la demande initiale mais la formation suivi ne semble pas très à jour, quelques remarques en vrac :
- sha1 ou md5 ne sont pas recommandés pour sécuriser les mots de passe, tu devrais plutôt utiliser la fonction php password_hash() (et password_verify() pour vérifier le mdp) disponible depuis PHP 5.5 (2013).
- Pourquoi utiliser addslashes() lors de la récupération des variables ? Si c'est pour éviter les injections sql, il faudrait plutôt utiliser les requêtes préparées avec PDO dans la fonction createUser() si ce n'est pas déjà le cas. A part altérer les données, addslashes() ne semble pas utile ici.
- Il faudrait utiliser htmlentities() lors de la concaténation des variables php dans le corps du mail html et lors de l'affichage des variables php dans le document html pour éviter les failles xss