Partage
  • Partager sur Facebook
  • Partager sur Twitter

Visibilitée d'un mot de passe dans un base de donnée.

Sujet résolu
    6 septembre 2010 à 17:35:54

    Bonjour :) je vien vous poser une question car j'ai créer un petit espace membre en php. Et quand je regarde ma table dans php Myadmin je ne vois pas le mot de passe (rien du tout, la case est blanche) esque c'est normal?
    (le formulaire qui transmet le mon de passe est de type password).
    • Partager sur Facebook
    • Partager sur Twitter
      6 septembre 2010 à 18:11:15

      Non, pas normal, tu devrais avoir une suite de caractères, le mot de passe crypté.
      • Partager sur Facebook
      • Partager sur Twitter
        6 septembre 2010 à 18:16:45

        Mince pourtant j'ai lut et relu mon script je ne vois aucune fautes regarder:
        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
           <head>
               <title>S'inscrire</title>
               <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
           <style type="text/CSS">
           </style>
           <script language="javascript">
           </script>
           </head>
           <body>
           <script language="javascript">
           </script>
           <?php
        if(isset($_POST['nom']))
        {
        	if(empty($_POST['nom']))
        	{
        		echo'Erreur: Votre nom est vide!';
        	}
        	else
        	{
        		mysql_connect("localhost", "root", "");
        		mysql_select_db("membre");
        
        		mysql_query('INSERT INTO membres (login)VALUES ("'.stripslashes(htmlspecialchars($_POST['nom'])).'")')or die(mysql_error());
        
        		echo'Votre nom a &eacute;t&eacute; ajout&eacute; ;)';
        
        		mysql_close();
        	}
        }
        ?>
            <?php
        	if(isset($_POST['mot_passe']))
        	{
        	if(empty($_POST['mot_passe']))
        	{
        	echo'erreur:Votre mot de passe est vide!';
        	}
        	else
        	{
        	mysql_connect("localhost", "root", "");
        	mysql_select_db("membre");
        	mysql_query('INSERT INTO membres (mot_passe)VALUES ("'.stripslashes(htmlspecialchars($_POST['mot_passe'])).'")')or die(mysql_error());
        	mysql_close();
        	}
        	}
            ?>  
           <form method="post"action="">
           <input type="text" name="nom" /><br/>
           <input type="password"name="mot_passe"/><br/>
             <input type="submit" value="S'inscrire" />
           </form>
           </body>
        </html>
        
        • Partager sur Facebook
        • Partager sur Twitter
          6 septembre 2010 à 18:28:01

          Le truc qui me frappe surtout, c'est que tu cryptes pas le mot de passe dans la BDD, tu préfères faire des trucs inutiles dessus, comme des stripslashes et des htmlspecialchars.
          • Partager sur Facebook
          • Partager sur Twitter
            6 septembre 2010 à 18:34:35

            Bien sur que si je cryptes le mot de passe grace à la variable "mot_passe" alors quesqui ne vas pas svp?
            • Partager sur Facebook
            • Partager sur Twitter
              6 septembre 2010 à 19:49:32

              Tu fais exactement le même traitement avec le nom du membre. Tu le cryptes aussi alors ?
              • Partager sur Facebook
              • Partager sur Twitter
                6 septembre 2010 à 20:04:13

                Eh bien voyer par vous meme:

                j'insère le nom dans le champ login et le mot_passe dans le champ mot_passe.
                Alors quesqui ne vas pas?
                • Partager sur Facebook
                • Partager sur Twitter
                  6 septembre 2010 à 20:30:35

                  Ce qui va pas ? Le mot de passe est alors stocké en clair dans la BDD.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    6 septembre 2010 à 20:43:26

                    Et donc alors pourquoi sa ne marche pas j'ai pourtant préciser le champ et la table ?
                    • Partager sur Facebook
                    • Partager sur Twitter
                      6 septembre 2010 à 21:45:57

                      Un indice : t'as besoin que d'un seul INSERT INTO pour créer un nouveau membre avec son mot de passe dans ta table.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        7 septembre 2010 à 17:31:25

                        Laissez tomber je demande pas d'indices je demande unje réponce claire.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          7 septembre 2010 à 17:40:07

                          Il te l'a donnée, la réponse !
                          Si tu veux insérer dans ta table un membre avec son mot de passe, il ne faut utiliser qu'une seule requête.

                          Cependant si tu tiens à avoir une réponse claire, y'a pas mieux ici.

                          Les gens ne sont pas ici pour te mâcher le travail.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            7 septembre 2010 à 18:36:59

                            Je t'ai donné la réponse, plus le fait que je t'ai averti que tu ne cryptes pas ton mot de passe, même si t'as beau dire le contraire. Je ne peux rien faire de plus. Si t'arrives pas à comprendre comment marche un INSERT INTO, arrête le développement web tout de suite et fais autre chose comme de la plomberie, ou la pose de carrelage.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              7 septembre 2010 à 19:19:03

                              Citation : alex0

                              Bien sur que si je cryptes le mot de passe grace à la variable "mot_passe" alors quesqui ne vas pas svp?



                              Pour crypter il faut utiliser la fonction sha1. Si tu ne l'utilises pas, tu auras accès a tous les mot de passe de tes membres dans ta base de donnée. (Enfin quand ton code marchera)

                              Exemple:
                              <?php
                              $mdp_crypte = sha1($_POST['mot_passe']);
                              ?>
                              
                              • Partager sur Facebook
                              • Partager sur Twitter
                                7 septembre 2010 à 20:40:19

                                Juste par curiosité, en passant par là : j'ai actuellement un site qui possède des comptes, mais je ne crypte pas les mots de passe. Est-ce que je risque quelque chose, est-ce que c'est autorisé mais peu conseillé, dois-je en avertir l'utilisateur ? De toute manière, le site n'est pas encore en ligne, mais on ne sait jamais. :D
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  7 septembre 2010 à 20:51:36

                                  crypte les ca ne te coute rien.

                                  Mais sauf erreur de ma part c'est autorisé mais pas très pro et conseillé.
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    7 septembre 2010 à 20:54:20

                                    Désolé mais le code source pour le cryptage plante.
                                    Tu est sur qu'il es correctement écris?
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      7 septembre 2010 à 21:23:24

                                      Essaie avec md5() mais normalement sha1() marche de base.
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        7 septembre 2010 à 21:48:44

                                        Peux tu nous donner ton code complet modifié ?
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          7 septembre 2010 à 23:25:11

                                          Citation : AïeWozeDjoking

                                          Juste par curiosité, en passant par là : j'ai actuellement un site qui possède des comptes, mais je ne crypte pas les mots de passe. Est-ce que je risque quelque chose, est-ce que c'est autorisé mais peu conseillé, dois-je en avertir l'utilisateur ? De toute manière, le site n'est pas encore en ligne, mais on ne sait jamais. :D


                                          C'est surtout que c'est vraiment pas une bonne chose. Dans ces conditions, tu peux très certainement être tenu responsable des problèmes qui pourrait arriver si ces données sont utilisées. Etant donné que la grande majorité utilise le même mot de passe partout, toi, ou quelqu'un ayant accès à ta BDD, pourrait très facilement usurper l'identité sur de nombreux sites. Autant usurper un compte du SDZ, ca n'apporte pas grand chose, ce n'est pas la même chose avec Facebook (vie privée...) ou des sites de ventes (Amazon par exemple qui garde le numéro de carte bleu).
                                          Enfin, rien que par respect de l'utilisateur, hasher ou chiffrer les mots de passe est une nécessité.
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            8 septembre 2010 à 13:08:37

                                            D'accord, merci bien. Je vous laisse reprendre le fil de la discussion, veuillez m'excuser de cette interruption. :-°
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              8 septembre 2010 à 14:10:11

                                              <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
                                              <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
                                                 <head>
                                                     <title>S'inscrire</title>
                                                     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
                                                 <style type="text/CSS">
                                                 </style>
                                                 <script language="javascript">
                                                 </script>
                                                 </head>
                                                 <body>
                                                 <script language="javascript">
                                                 </script>
                                                 <?php
                                              if(isset($_POST['nom']))
                                              {
                                              	if(empty($_POST['nom']))
                                              	{
                                              		echo'Erreur: Votre nom est vide!';
                                              	}
                                              	else
                                              	{
                                              		mysql_connect("localhost", "root", "");
                                              		mysql_select_db("membre");
                                              
                                              		mysql_query('INSERT INTO membres (login)VALUES ("'.stripslashes(htmlspecialchars($_POST['nom'])).'")')or die(mysql_error());
                                              
                                              		echo'Votre nom a &eacute;t&eacute; ajout&eacute; ;)';
                                              
                                              		mysql_close();
                                              	}
                                              }
                                              ?>
                                                  <?php
                                              	$mdp_crypte = sha1($_POST['mot_passe']);
                                              	if(isset($_POST['mot_passe']))
                                              	{
                                              	if(empty($_POST['mot_passe']))
                                              	{
                                              	echo'erreur:Votre mot de passe est vide!';
                                              	}
                                              	else
                                              	{
                                              	mysql_connect("localhost", "root", "");
                                              		mysql_select_db("membre");
                                              
                                              		mysql_query('INSERT INTO membres(mot_passe)VALUES ("'.stripslashes(htmlspecialchars($_POST['mot_passe'])).'")')or die(mysql_error());
                                              
                                              		echo'Votre nom a &eacute;t&eacute; ajout&eacute; ;)';
                                              
                                              		mysql_close();
                                              	}
                                              	}
                                                  ?> 
                                                 <form method="post"action="">
                                                 <input type="text" name="nom" /><br/>
                                                 <input type="password" name="mot_passe"/>
                                                 <input type="submit" value="S'inscrire" />
                                                 </form>
                                                 </body>
                                              </html>
                                              
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                8 septembre 2010 à 15:00:22

                                                Bonjour alex0

                                                Pour pouvoir ajouter un membre il faut faire une seule requête insert into
                                                Dans cette requête tu dis "j'insère le membre qui a pour pseudo toto et mot de passe titi"
                                                Tu ne peux pas dire "j'insère le membre qui a pour pseudo toto toto" puis "j'insère le mot de passe titi"

                                                Pour crypter le mot de passe, marc78se t'a donné la solution: utiliser sha1 (par exemple)
                                                Néanmoins tu n'utilises la variable que tu crées et qui est cryptée dans la requête.
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  8 septembre 2010 à 15:15:17

                                                  Oui, une fois que tu as tapé ca :
                                                  <?php$mdp_crypte = sha1($_POST['mot_passe']);
                                                  



                                                  il faut que tu utilises ta nouvelle variable à la place de l'autre sinon ca ne sert a rien
                                                  <?php $mdp_crypte
                                                  
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    8 septembre 2010 à 15:19:05

                                                    Oui mais sur la ligne ou je crypt le mot de passe ma page web dit qu'il y a une érreur :

                                                    Notice: Undefined index: mot_passe in C:\wamp\www\espace membre\index.php on line 35
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      8 septembre 2010 à 15:25:04

                                                      Il faut mettre cette variable après le if , voila pourquoi !
                                                      Mais commence par faure un seul if et donc un seul insert into ;)
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        8 septembre 2010 à 15:35:35

                                                        Alors maintenant voila mon code source:
                                                        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
                                                        <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
                                                           <head>
                                                               <title>S'inscrire</title>
                                                               <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
                                                           <style type="text/CSS">
                                                           </style>
                                                           <script language="javascript">
                                                           </script>
                                                           </head>
                                                           <body>
                                                           <script language="javascript">
                                                           </script>
                                                           <?php
                                                        if(isset($_POST['nom']))
                                                        {
                                                        	if(empty($_POST['nom']))
                                                        	{
                                                        		echo'Erreur: Votre nom est vide!';
                                                        	}
                                                        	else
                                                        	{
                                                        	$mdp_crypte = sha1($_POST['mot_passe']);
                                                        		mysql_connect("localhost", "root", "");
                                                        		mysql_select_db("membre");
                                                        
                                                        		mysql_query('INSERT INTO membres (login,mot_passe)VALUES ("'.stripslashes(htmlspecialchars($_POST['nom,$mdp_crypte'])).'")')or die(mysql_error());
                                                        
                                                        		echo'Votre nom a &eacute;t&eacute; ajout&eacute; ;)';
                                                        
                                                        		mysql_close();
                                                        	}
                                                        }
                                                        ?>
                                                           <form method="post"action="">
                                                           <input type="text" name="nom" /><br/>
                                                           <input type="password" name="mot_passe"/>
                                                           <input type="submit" value="S'inscrire" />
                                                           </form>
                                                           </body>
                                                        </html>
                                                        

                                                        Et voici le méssage d'érreur qui s'affiche après l'envoi du formulaire:

                                                        Notice: Undefined index: nom,$mdp_crypte in C:\wamp\www\espace membre\index.php on line 27
                                                        Column count doesn't match value count at row 1
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          8 septembre 2010 à 15:46:35

                                                          Bon tu y es presque

                                                          La tu as fais un truc bizarre :lol: $_POST['nom,$mdp_crypte']

                                                          Non tu as 2 variable $_POST['nom'] et $mdp_crypte

                                                          Donc le insert into est
                                                          <?php mysql_query('INSERT INTO membres (login,mot_passe)VALUES ("'.mysql_real_escape_string($_POST['nom']).'","'. $mdp_crypte. '")') or die(mysql_error());
                                                          

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            8 septembre 2010 à 15:56:11

                                                            ok je pense que sa à marcher mais voila :

                                                            Crypté = chaine de caractères sous forme de petit point noir ou chaine de caractère sous forme de code(plain de lettres...)
                                                            ?
                                                            Parceque moi c'est sous forme de code.

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                              8 septembre 2010 à 15:57:44

                                                              Oui, tu dois voir une chaine de caractere pour leur mot de passe
                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              Visibilitée d'un mot de passe dans un base de donnée.

                                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                              • Editeur
                                                              • Markdown