Service TEST DE MOT DE PASSE
"; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; $mdpd = str_replace("'","",$mdpd); $mdpd = str_replace(",","",$mdpd); $mdpd = str_replace(".","",$mdpd); $mdpd = str_replace("un ","1 ",$mdpd); $mdpd = str_replace("deux ","2 ",$mdpd); $mdpd = str_replace("trois ","3 ",$mdpd); $mdpd = str_replace("quatre ","4 ",$mdpd); $mdpd = str_replace("cinq ","5 ",$mdpd); $mdpd = str_replace("six ","6 ",$mdpd); $mdpd = str_replace("sept ","7 ",$mdpd); $mdpd = str_replace("huit ","8 ",$mdpd); $mdpd = str_replace("neuf ","9 ",$mdpd); $mdpd = str_replace("onze ","11 ",$mdpd); $mdpd = str_replace("douze ","12 ",$mdpd); $mdpd = str_replace("treize ","13 ",$mdpd); $mdpd = str_replace("quatorze ","14 ",$mdpd); $mdpd = str_replace("quinze ","15 ",$mdpd); $mdpd = str_replace("seize ","16 ",$mdpd); $mdpd = str_replace("dix-sept ","17 ",$mdpd); $mdpd = str_replace("dix-huit ","18 ",$mdpd); $mdpd = str_replace("dix-neuf ","19 ",$mdpd); $mdpd = str_replace("vingt ","20 ",$mdpd); $mdpd = str_replace("dix ","10 ",$mdpd); $mdpds = explode(" ", $mdpd); $nb_mot=count($mdpds); for ($is = 0; $is < $nb_mot; $is++) { // echo " ".$mdpds[$is]; $max=1; if(strlen($mdpds[$is])>=$max){$mot[]=substr($mdpds[$is],0,$max);} } // echo "
Mot: "; for ($iss = 0; $iss < $nb_mot; $iss++) { // echo " ".$mot[$iss]; $mdpdx .= $mot[$iss]; } $mdpdx = strtolower($mdpdx); $longueur = strlen($mdpdx); for ($isx = 0; $isx < $longueur; $isx++) { // on selectionne chaque lettre $clettre = substr($mdpdx,$isx,1); $ix=$isx+1; // echo $clettre.":".$is." - ".$ix." "; if ($ix == $longueur) { $clettre=ucfirst($clettre); } $mdpdxx .= $clettre; if ($isx != "0") { $mdpdxx = str_replace("i","!",$mdpdxx); $mdpdxx = str_replace("a","@",$mdpdxx); $mdpdxx = str_replace("l","|",$mdpdxx); $mdpdxx = str_replace("c","ç",$mdpdxx); $mdpdxx = str_replace("e","è",$mdpdxx); $mdpdxx = str_replace(" ","-",$mdpdxx); } } $mdpdxxx = str_replace("!","i",$mdpdxx); $mdpdxxx = str_replace("@","a",$mdpdxxx); $mdpdxxx = str_replace("|","l",$mdpdxxx); $mdpdxxx = str_replace("ç","c",$mdpdxxx); $mdpdxxx = str_replace("è","e",$mdpdxxx); $mdpdxxx = str_replace("-"," ",$mdpdxxx); // echo "
"; $mdpdxxx = ucfirst($mdpdxxx)."."; $mdpdxx = ucfirst($mdpdxx)."."; echo ""; echo ""; echo ""; // echo ""; echo "
"; echo "
Résultats de la compilation de la phrase en mot de passe
Phrase: ".stripslashes($mdpd)."
Resultat original: ".$mdpdxxx."
Conseil: ".$mdpdxx."
Créez un autre mot de passe à partir d'une phrase
"; $mdp=$mdpdxxx; } echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; if ($mdp != "") { echo ""; //** function (evalPasswordStrenght($mdp) { $test_spe = ""; //>> on trouve la longuer du mot de passe $longueur = strlen($mdp); echo ""; if ($longueur < "8") { $note_court = "-2"; $test_court = "1"; echo ""; } //>> on fait une boucle pour lire chaque lettre for ($i = 0; $i < $longueur; $i++) { // on selectionne chaque lettre $lettre = substr($mdp,$i,1); // echo "
Lettre: ".$lettre."
"; if ($lettre >= 'a' && $lettre <= 'z') { // on ajoute un point $test_min = "1"; $point = $point + 1; // bonus $point_min = 1; // echo "Point min: ".$point_min."
"; } elseif ($lettre >= 'A' && $lettre <= 'Z') { $test_maj = "1"; $point = $point + 2; $point_maj = 2; // echo "Point maj: ".$point_maj."
"; } elseif ($lettre >= '0' && $lettre <= '9') { $test_chiffre = "1"; $point = $point + 3; $point_chiffre = 3; // echo "Point chif: ".$point_chiffre."
"; // ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ@#°:,;§!?*<>=+/' } elseif ($lettre == '#' && $lettre == 'ç' && $lettre == 'è' && $lettre == 'ù' && $lettre == '-' && $lettre == '_' && $lettre == '|' && $lettre == '&' && $lettre == '@' && $lettre == '!' && $lettre == '°' && $lettre == '£' && $lettre == '%' && $lettre == '€' && $lettre == '?' && $lettre == '*' && $lettre == ',' && $lettre == ':') { //** $test_spe = "1"; $point = $point + 4; $point_spe = 4; // echo "Point maj: ".$point_maj."
"; } else { $point = $point + 5; $point_caracteres = 5; // echo "Point car: ".$point_caracteres."
"; } } /* if (eregi("#", $mdp)) { $test_spe = $test_spe + 1; } if (eregi("ç", $mdp)) { $test_spe = $test_spe + 1; } if (eregi("è", $mdp)) { $test_spe = $test_spe + 1; } if (eregi("ù", $mdp)) { $test_spe = $test_spe + 1; } if (eregi("-", $mdp)) { $test_spe = $test_spe + 1; } if (eregi("_", $mdp)) { $test_spe = $test_spe + 1; } if (eregi("|", $mdp)) { $test_spe = $test_spe + 1; } if (eregi("&", $mdp)) { $test_spe = $test_spe + 1; } if (eregi("@", $mdp)) { $test_spe = $test_spe + 1; } if (eregi("!", $mdp)) { $test_spe = $test_spe + 1; } if (eregi("°", $mdp)) { $test_spe = $test_spe + 1; } if (eregi("£", $mdp)) { $test_spe = $test_spe + 1; } if (eregi("%", $mdp)) { $test_spe = $test_spe + 1; } if (eregi("$", $mdp)) { $test_spe = $test_spe + 1; } if (eregi("€", $mdp)) { $test_spe = $test_spe + 1; } if (eregi("?", $mdp)) { $test_spe = $test_spe + 1; } if (eregi("*", $mdp)) { $test_spe = $test_spe + 1; } if (eregi(".", $mdp)) { $test_spe = $test_spe + 1; } if (eregi(",", $mdp)) { $test_spe = $test_spe + 1; } if (eregi(":", $mdp)) { $test_spe = $test_spe + 1; } */ if (eregi('#', $mdp) or eregi('ç', $mdp) or eregi('è', $mdp) or eregi('ù', $mdp) or eregi('-', $mdp) or eregi('_', $mdp) or eregi('|', $mdp) or eregi('&', $mdp) or eregi('@', $mdp) or eregi('!', $mdp) or eregi('°', $mdp) or eregi('£', $mdp) or eregi('%', $mdp) or eregi('€', $mdp) or eregi('?', $mdp) or eregi('*', $mdp) or eregi(',', $mdp) or eregi(':', $mdp)) { $test_spe = 1; } //** function checkPassword($mdp) { // on ouvre le fichier dictionnaire if ($fp = fopen("passwords.txt","r")) { while (!feof($fp)) { // on parcoure le fichier jusqu'a à la fin $mots_dico .= fgets($fp, 4096); // echo $mots_dico; } fclose($fp); // on ferme le fichier } // on vérifie si le mot de passe s'y trouve // echo $mots_dico; $trouver_mot = strpos($mots_dico, $mdp); if ($trouver_mot == false) { // echo "Suite du traitement "; //** return false; } else { $note_courant = "-2"; $test_courant = "1"; echo ""; //** return true; } //** } //** echo checkPassword($mdp); //>> on calcule le rapport du nombre de point sur la longueur du mot de passe $etape1 = $point / $longueur; // echo "Point: ".$point."
"; // echo "Etape 1: ".$etape1."
"; //>> on voit quelle a ete la diversite des types de characteres dans le mot de passe, s'il y a des minuscules, des majuscules $etape2 = $point_min + $point_maj + $point_spe + $point_chiffre + $point_caracteres; // echo "Etape 2: ".$etape2."
"; //>> on mutltiplie le coef de diversite par le coef de longueur $resultat = $etape1 + $etape2; // echo "Resultat: ".$resultat."
"; //>> enfin on multiplie le résultat précendent par la longueur de la chaine $final = ceil($resultat + $longueur); $final = $final + $note_court; $final = $final + $note_courant; if ($test_min == "") { $final = $final - 1; } if ($test_maj == "") { $final = $final - 2; } if ($test_chiffre == "") { $final = $final - 3; } //** if (eregi('#', $mdp) or eregi('ç', $mdp) or eregi('è', $mdp) or eregi('ù', $mdp) or eregi('-', $mdp) or eregi('_', $mdp) or eregi('|', $mdp) or eregi('&', $mdp) or eregi('@', $mdp) or eregi('!', $mdp) or eregi('°', $mdp) or eregi('£', $mdp) or eregi('%', $mdp) or eregi('€', $mdp) or eregi('?', $mdp) or eregi('*', $mdp) or eregi(',', $mdp) or eregi(':', $mdp)) { $final = $final - 4; } if ($test_spe == "") { $final = $final - 4; } if ($final < "1") { $final = "1"; } if ($final > "20") { $final = "20"; } echo ""; //** return $final; //** } if ($final >= "20") { $test_mdp="Mot passe complexe"; $img_mdp=""; } if ($final >= "15" && $final < "20") { $test_mdp="Mot passe fort"; $img_mdp=""; } if ($final >= "10" && $final < "15") { $test_mdp="Mot passe moyen"; $img_mdp=""; } if ($final < "10") { $test_mdp="Mot passe faible"; $img_mdp=""; } echo ""; /* if ($longueur < "8") { // Création d'un identifiant aléatoire $taille = 8-$longueur; $lettres = "abcdefghijklmnopqrstuvwxyz0123456789"; srand(time()); for ($i=0;$i<$taille;$i++) { $sess.=substr($lettres,(rand()%(strlen($lettres))),1); } } else { $sess=""; } $mdpx=$mdp.$sess; echo $mdpx; */ if ($final < "15") { for ($is = 0; $is < $longueur; $is++) { // on selectionne chaque lettre $clettre = substr($mdp,$is,1); $ix=$is+1; // echo $clettre.":".$is." - ".$ix." "; if ($ix == $longueur) { $clettre=ucfirst($clettre); } $conseil_mdp .= $clettre; if ($is != "0") { $conseil_mdp = str_replace("i","!",$conseil_mdp); $conseil_mdp = str_replace("a","@",$conseil_mdp); $conseil_mdp = str_replace("l","|",$conseil_mdp); $conseil_mdp = str_replace("c","ç",$conseil_mdp); $conseil_mdp = str_replace("e","è",$conseil_mdp); $conseil_mdp = str_replace(" ","-",$conseil_mdp); } } /* $conseil_mdp = str_replace("i","!",$conseil_mdp); $conseil_mdp = str_replace("a","@",$conseil_mdp); $conseil_mdp = str_replace("l","|",$conseil_mdp); $conseil_mdp = str_replace("c","ç",$conseil_mdp); $conseil_mdp = str_replace("e","è",$conseil_mdp); $conseil_mdp = str_replace(" ","-",$conseil_mdp); */ if ($longueur < "8") { // Création d'un identifiant aléatoire $taile_mdp_gen = 8-$longueur; $taille = $taile_mdp_gen; $lettres = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789€%|!?#@_-&*"; srand(time()); for ($i=0;$i<$taille;$i++) { $mdp_gen.=substr($lettres,(rand()%(strlen($lettres))),1); } } $conseil_mdp = "
  • Mot de passe proposé: ".ucfirst($conseil_mdp).$mdp_gen."
  • "; //** if ($mdpd == "") { //** echo "Test chiffre: ".$test_chiffre." - Test min: ".$test_min." - Test maj: ".$test_maj." - Test special: ".$test_spe; if ($test_court == "1") { $texte_court = "
  • Augmenter sa longueur, minimum de 8 caractères.
  • "; } else { $texte_court = ""; } if ($test_courant == "1") { $texte_courant = "
  • Changez de mot de passe, la totalité de celui-ci ou une partie est trop courant.
  • "; } else { $texte_courant = ""; } if ($test_chiffre == "") { $texte_chiffre = "
  • Utilisez des chiffres.
  • "; } else { $texte_chiffre = ""; } if ($test_min == "") { $texte_min = "
  • Utilisez des caractères miniscules.
  • "; } else { $texte_min = ""; } if ($test_maj == "") { $texte_maj = "
  • Utilisez des caractères majuscules.
  • "; } else { $texte_maj = ""; } //** if (eregi('#', $mdp) or eregi('ç', $mdp) or eregi('è', $mdp) or eregi('ù', $mdp) or eregi('-', $mdp) or eregi('_', $mdp) or eregi('|', $mdp) or eregi('&', $mdp) or eregi('@', $mdp) or eregi('!', $mdp) or eregi('°', $mdp) or eregi('£', $mdp) or eregi('%', $mdp) or eregi('€', $mdp) or eregi('?', $mdp) or eregi('*', $mdp) or eregi(',', $mdp) or eregi(':', $mdp)) { $texte_spe = "
  • Utilisez des caractères spéciaux ($#-_!?@%).
  • "; } else { $texte_spe = ""; } if ($test_spe == "") { $texte_spe = "
  • Utilisez des caractères spéciaux ($#-_!?@%).
  • "; } else { $texte_spe = ""; } echo ""; } //** } echo ""; echo "
    Résultats de l'analyse de votre mot de passe
    Le mot de passe analyser: ".$mdp."
    Longueur: ".$longueur."
    Mot de passe trop court! Il est conseiller d'avoir un minimum 8 caracteres.
    Le mot de passe que vous avez entré ou une partie de celui-ci est trop courant!
    Note: ".$final."/20
    ".$img_mdp." ".$test_mdp."
     
    Conseil:
      ".$texte_court.$texte_courant.$texte_chiffre.$texte_min.$texte_maj.$texte_spe.$conseil_mdp."
    Vérifier un autre mot de passe
    "; } else { echo ""; echo ""; echo ""; echo "
    Vous n'avez pas mis de mot de passe !
    Vérifier un autre mot de passe
    "; } ?>