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 :

Taille minimale d'un mot de passe


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2009
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 107
    Par défaut Taille minimale d'un mot de passe
    Bonjour,
    Je cherche un moyen pour contraindre la taille minimale d'un mot de passe, je n'arrive pas à modifier mon code dans ce sens là. Je ne sais pas comment ajouter cette condition.
    Le problème a certainement déjà été soulevé, je n'ai rien trouvé qui me permettait de solutionner mon problème.

    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
     
        <?php
        // teste soumission formulaire de connexion
        if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') { 
           if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) { 
     
              $base = mysql_connect ('localhost', 'root', ''); 
              mysql_select_db ('membre', $base); 
     
              // on teste base contient login / pass
              $sql = 'SELECT * FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass="'.mysql_escape_string($_POST['pass']).'"'; 
              $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
              $data = mysql_fetch_array($req); 
     
              mysql_free_result($req); 
              mysql_close(); 
     
              // si réponse utilisateur = membre
              if ($data[0] == 1) { 
                 session_start(); 
                 $_SESSION['login'] = $_POST['login']; 
                 header('Location: membre.php'); 
                 exit(); 
              } 
              // si pas réponse, visiteur s'est trompé dans login
              elseif ($data[0] == 0) { 
                 $erreur = 'Compte non reconnu.'; 
              } 
              // pb base
              else { 
                 $erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.'; 
              } 
           } 
           else { 
              $erreur = 'Au moins un des champs est vide !'; 
           }  
        }  
        ?>
        <html>
        <head>
        <title>Formulaire</title>
    	<link href="StylesFormulaireAuthentification.css" rel="stylesheet" type="text/css">
        </head>
     
        <body>
     
    <form action="FormulaireAuthentificationPage1.php" method="post">
    <fieldset style="border-color:#73aad2;border-size:2px;" width="625">  
    <legend class="titre_labelaut">Already identified  :</legend>
    <div id="Login" class="TexteLogin">e-mail :<br />
    My password: <br />
    </div>
     
    <div id="Login2"><input name="login" type="text" class="loginRemplissage" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>">
    <br />
    <input type="password" name="pass" class="loginRemplissage" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
    <input type="submit" name="connexion" value="Connexion" class="AlignementCreateAccount2">
    <p class="TexteFormulaireAut">You forgot your password or username, <a href="GetPassword.php" class="ClickHere"><u>click here</u></a> 
     
     
     
     
    <?php 
    if (isset($erreur)) echo "<br /><br /><span class=\"TexteLoginCases\">".$erreur."</span>";  ?>
    </p>
    </div> 
    </fieldset>
    </form>
     
     
     
     
     
    <div id="contour_formulaire">
    <form method="post" action="inscription.php">
    <fieldset style="border-color:#73aad2;border-size:2px;" width="625">  
    <legend class="titre_labelaut">New customer :</legend> 
    <input name="submit2" type="submit" class="AlignementCreateAccount" value="I create my account" />
    </fieldset>
    </form>
    </div>  
     
     
    </body>
    </html>
    Merci d'avance pour votre aide

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Utilise strlen() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(strlen($_POST['pass']) >= 10)
        echo 'ok';
    else
        echo 'trop court';
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2009
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 107
    Par défaut
    merci Grunk pour ta réponse.
    Je l'ai mis dans le code mais certainement pas comme il faudrait, ça ne marche pas. Est-ce que tu peux m'aider ?
    Merci encore

    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
     
    <?php
        // teste soumission formulaire de connexion
        if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') { 
           if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) { 
     
              $base = mysql_connect ('localhost', 'root', ''); 
              mysql_select_db ('membre', $base); 
     
              // on teste base contient login / pass
              $sql = 'SELECT * FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass="'.mysql_escape_string($_POST['pass']).'"'; 
              $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
              $data = mysql_fetch_array($req); 
     
              mysql_free_result($req); 
              mysql_close(); 
     
    		  // Mot de passe trop court
    		  if(strlen($_POST['pass']) >= 10)
        			echo 'ok';
    			else
        			echo 'trop court';
     
     
     
              // si réponse utilisateur = membre
              if ($data[0] == 1) { 
                 session_start(); 
                 $_SESSION['login'] = $_POST['login']; 
                 header('Location: membre.php'); 
                 exit(); 
              } 
              // si pas réponse, visiteur s'est trompé dans login
              elseif ($data[0] == 0) { 
                 $erreur = 'Compte non reconnu.'; 
              } 
              // pb base
              else { 
                 $erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.'; 
              } 
           } 
           else { 
              $erreur = 'Au moins un des champs est vide !'; 
           }  
        }  
        ?>
        <html>
        <head>
        <title>Formulaire</title>
    	<link href="StylesFormulaireAuthentification.css" rel="stylesheet" type="text/css">
        </head>
     
        <body>
     
    <form action="FormulaireAuthentificationPage1.php" method="post">
    <fieldset style="border-color:#73aad2;border-size:2px;" width="625">  
    <legend class="titre_labelaut">Already identified  :</legend>
    <div id="Login" class="TexteLogin">e-mail :<br />
    My password: <br />
    </div>
     
    <div id="Login2"><input name="login" type="text" class="loginRemplissage" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>">
    <br />
    <input type="password" name="pass" class="loginRemplissage" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
    <input type="submit" name="connexion" value="Connexion" class="AlignementCreateAccount2">
    <p class="TexteFormulaireAut">You forgot your password or username, <a href="GetPassword.php" class="ClickHere"><u>click here</u></a> 
     
     
     
     
    <?php 
    if (isset($erreur)) echo "<br /><br /><span class=\"TexteLoginCases\">".$erreur."</span>";  ?>
    </p>
    </div> 
    </fieldset>
    </form>
     
     
     
     
     
    <div id="contour_formulaire">
    <form method="post" action="inscription.php">
    <fieldset style="border-color:#73aad2;border-size:2px;" width="625">  
    <legend class="titre_labelaut">New customer :</legend> 
    <input name="submit2" type="submit" class="AlignementCreateAccount" value="I create my account" />
    </fieldset>
    </form>
    </div>  
     
     
    </body>
    </html>

  4. #4
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Par défaut
    Son code n'était qu'à titre d'exemple et devait être adapté à ta structure

    Comme par exemple :
    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
    <?php
        // teste soumission formulaire de connexion
        if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
            if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
                if (strlen($_POST['pass']) >= 10) {
                    $base = mysql_connect ('localhost', 'root', '');
                    mysql_select_db ('membre', $base);
     
                    // on teste base contient login / pass
                    $sql = 'SELECT * FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass="'.mysql_escape_string($_POST['pass']).'"';
                    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
                    $data = mysql_fetch_array($req);
     
                    mysql_free_result($req);
                    mysql_close();
     
                    // si réponse utilisateur = membre
                    if ($data[0] == 1) {
                        session_start();
                        $_SESSION['login'] = $_POST['login'];
                        header('Location: membre.php');
                        exit();
                    }
                    // si pas réponse, visiteur s'est trompé dans login
                    elseif ($data[0] == 0) {
                        $erreur = 'Compte non reconnu.';
                    }
                    // pb base
                    else {
                        $erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
                    }
                }
                else {
                    $erreur = 'Votre mot de passe doit obligatoirement contenir 10 caractères minimum !';
                }
            }
            else {
                $erreur = 'Au moins un des champs est vide !';
            }
    ?>
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2009
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 107
    Par défaut
    C'est bon, ça fonctionne.
    En attendant, merci beaucoup pour votre aide
    Bonnes fêtes à vous tous

  6. #6
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Par défaut
    N'oublie pas de marquer en
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

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

Discussions similaires

  1. [phpMyAdmin] [phpMyAdmin] Problème mot de passe Root !
    Par StouffR dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 26/09/2014, 11h59
  2. [VB6] [ADO] [Access] Changer le mot de passe
    Par dlpxlid dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 03/03/2003, 09h45
  3. Réccupération du mot de passe d'une connexion
    Par zinaif dans le forum Bases de données
    Réponses: 1
    Dernier message: 02/12/2002, 18h32
  4. Au sujet des mots de passe
    Par FranT dans le forum Langage
    Réponses: 6
    Dernier message: 17/09/2002, 22h16

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