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

EDI, CMS, Outils, Scripts et API PHP Discussion :

developpement avec php


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Centrafrique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 1
    Par défaut developpement avec php
    bonjour! j'ai créer un utilisateur dans ma base de données et j'ai crypté le mot de passe avec md5. pour la vérification lors de l'authentification,j'ai utilisé la méthode get. mais je ne sais pas crypter la valeur saisie dans le formulaire d'authentification pour faire la vérification.j'ai besoin d'aide. merci d'avance
    voici le code:

    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
    <?php
    		   if(isset($_GET['login']) && isset($_GET['pwd'])){
    		        include_once("modules/configurations.inc");
    				Connection_mySql();
    		        mysql_select_db("moonsolutions13f") or die("erreur de connexion a la base de donnees");
    				$query = "SELECT * FROM `administrateurs` ";
    				$result = mysql_query($query) or die("erreur!!");
     
     
     
    				    $d = false;
    					while($row = mysql_fetch_row($result)){
     
     
     
     
    				if((strcmp($row[1],$_GET['login'])==0) && (strcmp($row[2], $_GET['pwd'])==0)){
    						   $d = true;
    						}
                        }
     
     
                    mysql_close();
    				if( $d == false){
    			       echo "<div class=\" TEXTE\">login ou mot de passe incorrecte</div>";
    			    }else{
    				   echo "<div class=\" TEXTE\">login et mot de passe correcte</div>";
    				   $_SESSION['login'] = $_GET['login'] ; 
    				   ?>
                       <script language="javascript" type="text/javascript">
                          <!--
                          window.location.replace("index2.php");
    					-->
    				   </script> 
                       <?php
    				}
    		   }
    		?>
            <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="get">
               <div class="TEXT" align="center">
                   <p>&nbsp;               </p>
                   <p>
                     <font color='black'><input name="login" type="text" value="login" size="30" onFocus="javascript:this.value = '';">
                     <br>
                     <input name="pwd" type="password" value="mot de passe" size="30" onFocus="javascript:this.value = '';">
                     <br>
                     <input type="submit" value="connexion"></font>
                   </p>
                   <p><a href="./pwd_oubliee.php">Mot de passe oubli&eacute;</a></p>
               </div>
             </form>

  2. #2
    Invité
    Invité(e)

  3. #3
    Membre confirmé
    Homme Profil pro
    Fabricant de ressorts - programmeur amateur
    Inscrit en
    Janvier 2003
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Fabricant de ressorts - programmeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2003
    Messages : 70
    Par défaut
    Le plus simplement du monde, tu cryptes le mot de passe que t'a fourni l'utilisateur en MD5 (même routine que lors de la saisie) puis tu compares les deux mots de passe codés (en privilégiant le fait que ton code récupère le mot de passe crypté dans la base de données par rapport au login, puis teste les deux mots de passe codés plutôt que d'aller chercher dans ta base de données si le couple login/mot de passe crypté correspond)
    D'après ce que je sais d'un codage MD5, il n'y a aucun moyen de revenir en arrière pour retrouver le mot de passe initial.

    Les fonctions ci-dessus ne te serviront que si tu utilises le cryptage correspondant qui lui est réversible.

  4. #4
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    @nektarfl
    Oui mais non, tu fais fausse route.

    jreaux62 a donné une réponse qui peut paraître un peu courte mais en même temps c'était la seule bonne réponse aujourd'hui. Il est très déconseillé d'utiliser MD5 ou même SHA pour hasher des mots de passe car la puissance des ordinateurs permet maintenant de les brute forcer en quelques jours voire moins suivant la puissance du réseau d'ordinateurs mis à la disposition des hackers.

    Donc il faut utiliser des fonctions actuelles plus renforcées qui coûtent plus de temps serveur. Et comme l'indique son nom, password_hash() crée un hash qui par définition est non réversible.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Réponse courte, certes, mais il suffit d'avoir la curiosité de cliquer sur les liens...

  6. #6
    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 : 40
    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
    Citation Envoyé par nektarfl Voir le message
    Le plus simplement du monde, tu cryptes le mot de passe que t'a fourni l'utilisateur en MD5 (même routine que lors de la saisie) puis tu compares les deux mots de passe codés (en privilégiant le fait que ton code récupère le mot de passe crypté dans la base de données par rapport au login, puis teste les deux mots de passe codés plutôt que d'aller chercher dans ta base de données si le couple login/mot de passe crypté correspond)
    D'après ce que je sais d'un codage MD5, il n'y a aucun moyen de revenir en arrière pour retrouver le mot de passe initial.

    Les fonctions ci-dessus ne te serviront que si tu utilises le cryptage correspondant qui lui est réversible.
    Avec MD5 on ne crypte pas (ca n'existe pas crypter en français d'ailleurs ) . C'est un hash donc on hache le mot de passe.
    Un MD5 est en théorie irréversible , sauf que dans les faits , MD5 est faillible. Il existe ce qu'on appel des rainbow table qui permettent à partir d'un md5 de trouver la chaine de caractère originale si elle est assez "connue".

    Les fonctions proposée par jreaux62 ne permettent pas non plus de revenir en arrière. Elle utilise par défaut BCrypt qui est un hash plus sécurisé.

    En 2017 utilisé MD5 pour un mot de passe est une erreur.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 225
    Par défaut
    c'est pourtant proposé dans la liste déroulante de phpmyadmin...

  8. #8
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Citation Envoyé par nine Voir le message
    c'est pourtant proposé dans la liste déroulante de phpmyadmin...
    Où ça, dans quel contexte ?

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    C'est proposé parce que ça existe, ça ne veut pas dire qu'il faut l'utiliser.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 225
    Par défaut
    bof comme réponse
    phpmyadmin/mysql c'est quand même un des rdbms les plus utilisés ... et je pense juste que c'est légitime de faire confiance, tu ne trouve pas ?

    quand je vois md5 pour les mots de passe, je l'utilise

    d'ailleurs j'aimerai bien savoir quelle est la meilleure façon de stocker le mot de passe en bdd directement dans phpmyadmin ?

    merci, pour avancer et faire mieux

    n

  11. #11
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Juste une question : "nine", c'est ton age ?

    Si tu avais cliqué * sur les liens que j'ai donnés, tu aurais trouvé la réponse.


    * Ça, on ne peut pas le faire à ta place...

  12. #12
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    bof comme réponse
    quand je vois md5 pour les mots de passe, je l'utilise
    Dans la doc de PHP et dans la doc de Mysql il est indiqué de ne pas l'utiliser pour les mots de passe.
    Autre chose ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 225
    Par défaut
    houla ne mordez pas !!

    je prefere pas de reponse qu'a une reponse ou on repond je l'ai dit plus haut ou va sur google

    j'ai pas fais gaffe,

    je trouve juste un peu pertubant de dire dans la doc qui faut pas utiliser md5 mais le laisser sur leur outil. c tout !

    le bof : c'etait pas mechant du tout !!

    desole

    bonne journée
    ps: je voulais dire : que faut il choisir dans la liste deroulante si faut pas prendre md5, le mieux c quoi ?

  14. #14
    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 : 40
    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
    Citation Envoyé par nine Voir le message
    c'est pourtant proposé dans la liste déroulante de phpmyadmin...
    C'est proposé dans phpmyadmin pour tout VARCHAR , ca veux pas dire que c'est une bonne idée de l'utiliser pour des mots de passe.
    MD5 reste valable dans certains cas , pas pour les mot de passe.

    que faut il choisir dans la liste deroulante si faut pas prendre md5, le mieux c quoi ?
    Il n'ya pas d'algo supporté par phpmyadmin suffisament robuste pour les mot de passe.
    Mais en pratique personne ne rempli sa base avec phpmyadmin c'est fait avec du code , et là on utilise bcrypt voir éventuellement sha256
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 225
    Par défaut
    ok je te remercie

    bonne journee
    n

Discussions similaires

  1. Application Android developpée avec PHP
    Par mesken dans le forum Mobiles
    Réponses: 0
    Dernier message: 27/01/2017, 01h17
  2. [Oracle] Requète non valide avec php mais OK dans sql developper
    Par bedomon dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 25/06/2012, 15h51
  3. Developper sous Android avec PHP
    Par QAYS dans le forum Langage
    Réponses: 3
    Dernier message: 14/10/2011, 11h26
  4. Eclipse et l'outil Xampp pour developpement avec PHP
    Par metrax dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 23/03/2007, 13h19
  5. Création d'utilisateur sous PostgreSQL 7.3.2 avec PHP
    Par duongkhang dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 06/06/2003, 13h10

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