Login PHP

syncerastum -  
 syncerastum -
Bonjour,

j'ai un exercice a faire, et depuis des heurs je ne sais pas commencer, j'ai l'algorithme sur feuille mais j'arrive pas a le metre en PHP j'aurais besoin d'aide svp. si kk1 a déja eut affair a ceci, une copie du code sera sympa! :)
Merci

voici l'énoncer:( le texte d'origine etant en allemand je l'est traduit en fraçais, alors svp soyez indulgant :) )

S'il vous plaît, construisez un login dans PHP. Au login, un nouveau mot de passe doit pouvoir être inscrit. Celui-ci doit être examiné directement avec le javascript pour la sécurité. Chaque examen séparé doit recevoir un point. Dès 4 points, le mot de passe doit être estimé comme sûr et peuvent être changés.

1point pour mininum de 6 caractres.
1point pour l'application des chiffres.
1 point pour l'application du symbole spécial
1point pour l'application de l'emploi des majuscules et emploi de minuscules

L'échelle des points doit apparaître directement à côté du champ de mot de passe et montrer en couleurs le standard de sécurité actuel.
Configuration: Windows XP
Firefox 3.5.5

1 réponse

  1. syncerastum
     
    voici mon code que un pote ma passer, qui fait presque la meme chose, mais je veut le modifier pour quil soit exactement compatible avec l'ennoncer, merce de votre aide :)

    // Fichier JScript
    // ctl00_ContentPlaceHolder1_btnModifier" disabled="disabled"
    var MinCaracteres = 5; // Nombre minimum de caratères du mot de passe
    var CaracteresSecurite = 7; // Nombre de caractères correct pour un mot de passe
    var SecuriteBouton = 2; // Niveau de sécurité pour dévérouiller le bouton Faible : 1, Moyen : 2, Fort : 3

    // images des différents niveaux
    var PicSecurite = new Array();
    PicSecurite[0] = "images/NiveauZero.PNG";
    PicSecurite[1] = "images/NiveauFaible.PNG";
    PicSecurite[2] = "images/NiveauMoyen.PNG";
    PicSecurite[3] = "images/NiveauFort.PNG";

    var preLoadSecurite = new Array();

    for (i = 0; i < 4; i++){
    preLoadSecurite[i] = new Image();
    preLoadSecurite[i].src = PicSecurite[i];
    }

    function NiveauSecurite()
    {
    // pwd : Mot de passe à vérifier
    var pwd = document.getElementById("txtPdw").value ;

    if (IsStrong(pwd))
    {
    document.getElementById("imgNiveauSecurite").src = preLoadSecurite[3].src;
    document.getElementById("btnValider").disabled = false;
    }
    else if (IsMedium(pwd))
    {
    document.getElementById("imgNiveauSecurite").src = preLoadSecurite[2].src;
    if (SecuriteBouton<=2)
    {
    document.getElementById("btnValider").disabled = false;
    }else{
    document.getElementById("btnValider").disabled = true;
    }
    }
    else if (IsWeak(pwd))
    {
    document.getElementById("imgNiveauSecurite").src = preLoadSecurite[1].src;
    if (SecuriteBouton<=1)
    {
    document.getElementById("btnValider").disabled = false;
    }else{
    document.getElementById("btnValider").disabled = true;
    }
    }
    else
    {
    document.getElementById("imgNiveauSecurite").src = preLoadSecurite[0].src;
    document.getElementById("btnValider").disabled = true;
    }
    }

    function IsStrong(pwd)
    {
    // niveau Fort
    if (pwd.length < CaracteresSecurite)
    {
    return false;
    }else{
    if (!SpansAtLeastNCharacterSets(pwd,3))
    {
    return false;
    }else{
    return true;
    }
    }
    }

    function IsMedium(pwd)
    {
    // niveau Moyen
    if (pwd.length < CaracteresSecurite)
    {
    return false;
    }else{
    if (!SpansAtLeastNCharacterSets(pwd,2))
    {
    return false;
    }else{
    return true;
    }
    }
    }

    function IsWeak(pwd)
    {
    // niveau Faible
    return (pwd.length >= (MinCaracteres));
    }

    function SpansAtLeastNCharacterSets( word, N)
    {
    // Calcul les différents types de caractères du mot de passe
    // word : mot de passe, N : Nombre minimun de types de caractère différents pour retour à vrai
    if (word == null)
    return false;

    var csets = new Array(false,false,false,false);

    ncs = 0;
    var listeNombre = "0123456789";
    var listeCaractereSpe = "&é'(-è_çà)=*ù!:;,?./§-+<>$£µ%"+'"';
    for (i = 0; i < word.length; i++)
    {
    c= word.charAt(i);
    if (listeNombre.indexOf(c)>=0)
    {
    // caractère numérique
    if (csets[0] == false)
    {
    csets[0] = true;
    ncs++;
    if (ncs >= N)
    return true;
    }
    }
    else if (listeCaractereSpe.indexOf(c)>=0)
    {
    // caractère spécial
    if (csets[1] == false)
    {
    csets[1] = true;
    ncs++;
    if (ncs >= N)
    return true;
    }
    }
    else if (c.toUpperCase() ==c)
    {
    // caractère en Majuscule
    if (!csets[2])
    {
    csets[2] = true;
    ncs++;
    if (ncs >= N)
    return true;
    }
    continue;
    }
    else if (c.toLowerCase() ==c)
    {
    // caractère en Minuscule
    if (!csets[3])
    {
    csets[3] = true;
    ncs++;
    if (ncs >= N)
    return true;
    }
    }
    }
    return false;
    }
    0