Vous êtes ici Codes PHP et MySQL > Chaînes > Vérifier si un mot de passe est valide

 

Vérifier si un mot de passe est valide

Vérifie si un mot de passe est valide suivant le nombre de caractère et leur taux de répétition, pour éviter les mots de passe du genre "toto". La fonction possède 3 modes de sécurité paramétrale dans l'appel de la fonction.

Pour paramétrer la sécurité vous pouvez modifier le niveau de sécurité à partir des 2 tableaux: $minimum pour le nombre de caratères et $pourcentage pour le blocage.

Pour le nombre de caractère le tableau $minimum avec les valeurs (1 => 4, 2 => 6, 3 => 8) indique:

Niveau 1 => 4 caractères minimum
Niveau 2 => 6 caractères minimum
Niveau 3 => 8 caractères minimum

Même principe avec les pourcentages.
 
Supercanard
Site de l'auteur voir
[3] sources en PHP voir
Code vu 2963 fois
Enregistré le 07 Mars 2010
  • Digg ce code sur digg.com
  • Bookmark ce code sur del.icio.us
  • Bookmark ce code sur Google
  • Bookmark ce code sur Yahoo
  • Ajoute Vérifier si un mot de passe est valide
  • Partage ce code sur Facebook
 
 
 
 

Code Source


01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
 
<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Vérifier si un mot de passe est valide                    */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts574-PHP.htm              */
/* Auteur         : Supercanard                                               */
/* Date édition   : 07 Mars 2010                                              */
/* Website auteur : http://www.99ko.org/                                      */
/*                                                                            */
/******************************************************************************/

/*
** valide un mot de passe suivant le nombre de caractère et leur taux de
 répétition ( pour eviter les mots de passe du genre "toto" )
** param : chaine, mode (1, 2 ou 3 - 3 pour sécurité maximum - 2 par defaut)
** return : true/false
*/
function valide_motdepasse($chaine$mode 2){
    $minimum = array(=> 4=> 6=> 8);
    $pourcentage = array(=> 26=> 51=> 76);
    if(preg_match('#[a-z-0-9]{'.$minimum[$mode].',}#'$chaine)){
        $a_chaine str_split($chaine);
        $c_uniques array_unique($a_chaine);
        if(count($c_uniques)*100/count($a_chaine) >= $pourcentage[$mode]){
            return true;
        }
    }
    return false;
}
?>

 

Fonctions du code

: Crée un tableau - (PHP 4, PHP 5)
: Expression rationnelle standard - (PHP 4, PHP 5)
: Convertit une chaîne de caractères en tableau - (PHP 5)
: Dédoublonne un tableau - (PHP 4 >= 4.0.1, PHP 5)
: Compte le nombre d'éléments d'un tableau ou le nombre de propriétés...
Commentaires
Rajout des majuscules pour le mot de passe:
 if(preg_match('#[A-Za-z-0-9]
 
Il y a une petite faute. Le code ne peu donc pas fonctionner correctement...
Qu'y a t'il entre Z et 0?


Voici le bon code :  
if(preg_match('#[A-Za-z0-9]{'.$minimum[$mode].',}#'$chaine)){

 
Ajouter un commentaire
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 
Librairie PHP

Connexion

 
 

Chaînes

 
 

PHP

 
 
 
 
    Offres d'emploi

Plus de 500 offres d'emploi PHP/MySQL

Offres d'emploi
 
    Editeur PHP
 
        Publicité