IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Sécurité] test d'un mot de passe et creation compte


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 208
    Points : 67
    Points
    67
    Par défaut [Sécurité] test d'un mot de passe et creation compte
    Bonjour,

    Voilà mon problème : J'ai un script ajout_compte.php qui permet de saisir un mot de passe et de tester sa validité . Je voudrais, quand le mot de passe est bien sécurisé (vert), déclencher dans ce même programme un script php ou une fonction,qui va créer un compte dans l'annuaire ldap.

    Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    function evalPwd(mdp)
    {
    	var cmpx = 0;
     
    	if (mdp.length >=6 )
    	{
    		cmpx++;
     
    		if (mdp.search("[A-Z]") != -1)
    		{
    			cmpx++;
    		}
     
    		if (mdp.search("[0-9]") != -1)
    		{
    			cmpx++;
    		}
     
    		if (mdp.length >= 8 || mdp.search("[\x20-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E]") != -1)
    		{
    			cmpx++;
    		}
     
    	}
     
    	if (cmpx == 0)
    	{
    		document.getElementById("weak").className = "nrm";
    		document.getElementById("medium").className = "nrm";
    		document.getElementById("strong").className = "nrm";
    	}
    	else if (cmpx == 1)
    	{
    		document.getElementById("weak").className = "red";
    		document.getElementById("medium").className = "nrm";
    		document.getElementById("strong").className = "nrm";
    	}
    	else if (cmpx == 2)
    	{
    		document.getElementById("weak").className = "yellow";
    		document.getElementById("medium").className = "yellow";
    		document.getElementById("strong").className = "nrm";
    	}
    	else
    	{
    		document.getElementById("weak").className = "green";
    		document.getElementById("medium").className = "green";
    		document.getElementById("strong").className = "green";
     
    	}	
    }
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <body bgcolor="#FFFFFF" text="#000000">
    <form>
      <p>Veuillez saisir un mot de passe comprenant des lettres, chiffres et carat&egrave;res 
        sp&eacute;ciaux (8c) 
        <input type="password" size="8" onkeyup="evalPwd(this.value);"  name="mdp" maxlength="8" />
        <input type="hidden" name="test" value="0">
        <br />
      </p>
      <div id="sm"><ul><li id="weak" class="nrm">Faible</li><li id="medium" class="nrm">Moyen</li><li id="strong" class="nrm">Fort</li></ul></div>
      </form>

    Je ne vois pas comment je peux faire . Si je fais une fonction avec le script ci-dessous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    function ajout_compte(Submit)
    {
     <?php
     
    echo $test;
    // Génération du mot de passe (4 1ere lettre uid + nombre aléatoire sur 4 chiffres) 
     
    //		  $nb_aleatoire=rand(1000, 9999);
    //		  $mdp = substr($uid,0,4).$nb_aleatoire;
     
    // crypter le mot de passe
     
              $mdp_crypt=crypt("$mdp");
     
    // Conversion 1ère lettre en majuscule  
     
              $nom_usuel = ucfirst($nom_usuel);
              $prenom=ucfirst($prenom);
     
    // transfert d'informations 
     
              $info["objectClass"][0]="iufmpcPerson";
    		  $info["objectClass"][1]="inetorgPerson";
    		  $info["objectClass"][2]="eduPerson";
    //          $info["objectClass"][3]="organizationalUnit";
    //		  $info["objectClass"][4]="supannPerson";
    //		  $info["objectClass"][5]="person";
    	  	  $info["eduPersonAffiliation"]="student";
    //		  $info["supannCivilite"]="$civilite";
    		  $info["sn"]="$nom_usuel";
    		  $info["givenname"]="$prenom";
    		  $info["cn"]="$nom_usuel $prenom";
    		  $info["displayname"]="$prenom $nom_usuel";
    		  $info["uid"]="$uid";
              $info["birthdate"]="$datenaiss";
              $info["userPassword"]="{crypt}$mdp_crypt";
    		  $info["title"]="$formation$annee $discipline";
              $info["datecreation"]="$date_saisie";
              $info["datefermeture"]="31062007";
    		  $info["enservice"]="TRUE";
    		  $info["validcharte"]="FALSE";
              $rdn="uid=".$info ["uid"].",ou=people,dc=poitou-charentes,dc=iufm,dc=fr"; 
     
    // Ajout d'un enregistrement dans l'annuaire LDAP
     
              $r = ldap_add($ldapconn,$rdn,$info);
     
    // Récapitulatif avec envoi par mail
     
              if ($r) 
    			   print ("Votre compte a été crée. Informations à conserver : ");
    			   print ("uid= $uid "); 
    			   print ("mot de passe =  $mdp ");
    }}
     
    ?>
    }
    </script>
    Dès que je saisie le mdp le script ajout_compte se fait dans la foulée.
    J'ai essayé de le mettre dans le esle (cas ou le mdp est vert)... ça marche pas.

    J'ai essayé un onclick(mdp) exécuter lla fonction ajout_compte... ça marche pas.

    Au secours ... ça fait plusieurs jours que je suis là dessus et je ne vois pas comment m'en sortir

  2. #2
    Membre éclairé Avatar de cadoudal56
    Profil pro
    Inscrit en
    Février 2005
    Messages
    694
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 694
    Points : 779
    Points
    779
    Par défaut
    Je ne comprends pas tres bien...
    On dirait que tu essaie de lancer une fonction php avec du javascript...
    Mais cela n'est pas possible directement...

    Ta fonction javascript teste si le mot de passe est valide et lui attribue un green. Donc dans ce cas, tu changes la valeur d'un élément du formulaire et le tour est joué....

    En gros tu rajoute dans ton formulaire cet élément :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="mdpgreen" value="0">

    Quand ta fonction javascript evalue ton mot de passe et si il est a green, tu change la valeur de mdpgreen en 1...

    Ainsi dans ton script PHP lorsque tu fera un check sur mdpgreen tu pourras lancer ta fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ($mdpgreen) {
    $r = ldap_add($ldapconn,$rdn,$info);
    }
    Et le tour est joué....
    J'espère que c'est bien ce que tu souhaitais

    @+
    cadou

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Sécurité] Question sur les mots de passes
    Par wallawalla dans le forum Langage
    Réponses: 4
    Dernier message: 02/04/2007, 17h51
  2. [MySQL] [débutante] test sur le mot de passe avec smd5
    Par Lyna31 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 06/03/2007, 17h04
  3. Sécurité BDD, hashage des mots de passe
    Par Link3 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 12/10/2006, 18h39
  4. [Sécurité utilisateur]Donner un mot de passe
    Par issam16 dans le forum Sécurité
    Réponses: 1
    Dernier message: 15/08/2006, 11h55
  5. Pb de sécurité, de saisie de mot de passe
    Par gui38 dans le forum Sécurité
    Réponses: 4
    Dernier message: 06/06/2006, 10h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo