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

PHP & Base de données Discussion :

Mot de Passe en CLAIR dans une table [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 67
    Points : 45
    Points
    45
    Par défaut Mot de Passe en CLAIR dans une table
    Bonjour,

    J'ai créé un formulaire avec un emplacement pour un mot de passe:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="password" name="mdp" value="votre mot de passe" onclick= "this.value=''"/>
    mais lors de l'insertion dans la table, ce dernier n'est pas crypté (voir capture d'écran).IL n'est pas normal que les mots de passe puissent apparaître en clair dans une table, non?



    je précise que lors de la création du champ PASS, j'ai choisi VARCHAR.

  2. #2
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    IL n'est pas normal que les mots de passe puissent apparaître en clair dans une table
    Il n'est pas souhaitable.

    Il est preferable de n'enregistrer qu'une empreinte du mot de passe.
    Pour cela tu peux utiliser la fonction hash() et un algorithme de ton choix.

    Pour verifier tu comparera le hash du mot de passe saisie à ce que tu as stocké dans la base.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Novembre 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Novembre 2009
    Messages : 5
    Points : 8
    Points
    8
    Par défaut
    on peut utilisé le md5(variablemotdepasse) vous le faite bien avant l'insertion dans la base de donné

  4. #4
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    md5() n'est pas recommandé.

  5. #5
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 195
    Points : 148
    Points
    148
    Par défaut
    Tiens petite question sabotage.
    Si md5() n'est pas recommandé quel algorithme utiliser ?
    Merci

  6. #6
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    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 692
    Points : 20 241
    Points
    20 241
    Par défaut
    Citation Envoyé par DjiLow Voir le message
    Tiens petite question sabotage.
    Si md5() n'est pas recommandé quel algorithme utiliser ?
    Merci
    Sha1,256 par exemple est plus recommandé. Les tables de correspondances pour md5 sont tellement nombreuse qu'il en devient presque inutile

  7. #7
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 195
    Points : 148
    Points
    148
    Par défaut
    Généralement j'accumule les algorithmes, du genre
    sha1(md5(crc32('le_mot_de_passe_en_question)))
    Et jusque ici je n'ai jamais eu de soucis

  8. #8
    Membre expérimenté Avatar de 10_GOTO_10
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 887
    Points : 1 531
    Points
    1 531
    Par défaut
    Citation Envoyé par DjiLow Voir le message
    Généralement j'accumule les algorithmes, du genre
    sha1(md5(crc32('le_mot_de_passe_en_question)))
    Et jusque ici je n'ai jamais eu de soucis
    Contrairement à ce qu'on pourrait croire, ce n'est pas une bonne solution: deux chaînes pouvant avoir le même hash, cumuler les hashages (différents comme ici ou md5(md5(md5(...)))) ne fais qu'augmenter le nombre de collisions et donc faciliter une attaque par dictionnaire.

    En fait, suite à cette discussion, je me suis un peu renseigné sur le cryptage du mot de passe, et ma conclusion est que c'est totalement inutile:

    - Soit quelqu'un arrive a pirater la base et dans ce cas il s'en fiche bien du mot de passe: ce qui l'intéresse c'est les autre informations, nom, e-mail, numéro de carte bleue, etc...

    - Soit quelqu'un arrive à espionner le réseau entre l'utilisateur et le serveur final (et quel que soit l'endroit et l'architecture), et dans ce cas, qu'il ait à faire au mot de passe en clair, à son hash, à son hash avec un "grain de sel", le résultat est le même: il lui suffit de renvoyer la même chaîne pour s'authentifier de la même façon que l'utilisateur légal.

    La seule utilité que je verrais est pour le cas où un utilisateur serait inscrit à plusieurs endroits avec le même nom et le même mot de passe (ce qui est imprudent, déjà).

  9. #9
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    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 692
    Points : 20 241
    Points
    20 241
    Par défaut
    Citation Envoyé par 10_GOTO_10 Voir le message
    - Soit quelqu'un arrive à espionner le réseau entre l'utilisateur et le serveur final (et quel que soit l'endroit et l'architecture), et dans ce cas, qu'il ait à faire au mot de passe en clair, à son hash, à son hash avec un "grain de sel", le résultat est le même: il lui suffit de renvoyer la même chaîne pour s'authentifier de la même façon que l'utilisateur légal.
    Il est très simple de contourner le problème par un peu de javascript.
    Juste avant l'envoi des données on crypte le mot de passe saisie dans l'algo souhaité et on envoi le mdp cryptée et non le mdp en clair

  10. #10
    Membre expérimenté Avatar de 10_GOTO_10
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 887
    Points : 1 531
    Points
    1 531
    Par défaut
    Citation Envoyé par grunk Voir le message
    Il est très simple de contourner le problème par un peu de javascript.
    Juste avant l'envoi des données on crypte le mot de passe saisie dans l'algo souhaité et on envoi le mdp cryptée et non le mdp en clair
    Non, justement.

    Relis ce que j'ai écrit plus haut.

  11. #11
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    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 692
    Points : 20 241
    Points
    20 241
    Par défaut
    Ca ne règle pas l'injection de données ultérieur je suis d'accord , mais ca empèche d'avoir le mot de passe en clair sur le réseau, c'est tout. (je n'aborde volontairement l'éventuel problème d'accessibilité que cela engendre)

    Qui plus est en rajoutant un élément variable au hash du mdp transmi , ca va devenir compliqué pour celui voudra outre passer l'identification.

    Mais si on suis t'as logique
    ma conclusion est que c'est totalement inutile
    On pourrait dire de même pour les antivirus , finalement il servent à rien puisque il y'a toujours des virus nouveaux qui ne sont pas détectés.

    Effectivement le hash des mot de passes en base n'est pas la solution à tous les problèmes mais c'est une faille de moins. (une hacker peut très bien rechercher le mot de passe d'une personne particulière dans une bdd pour compromettre son compte).

    Note sur le lien vers l'article que tu as donné : La seule solution viable pour se prémunir des faille csrf , c'est l'utilisation de token et la validation manuel des actions par l'utilisateur pas l'utilisation de filtres

  12. #12
    Membre expérimenté Avatar de 10_GOTO_10
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 887
    Points : 1 531
    Points
    1 531
    Par défaut
    Citation Envoyé par grunk Voir le message
    ca empèche d'avoir le mot de passe en clair sur le réseau, c'est tout.
    Comme tu le dis, c'est tout. Et comme pour un pirate deviner un mot de passe ou deviner le hash d'un mot de passe demande exactement le même travail, ça veut dire que c'est totalement inutile. Je crois qu'on est donc d'accord.

    Citation Envoyé par grunk Voir le message
    Qui plus est en rajoutant un élément variable au hash du mdp transmi , ca va devenir compliqué pour celui voudra outre passer l'identification.
    Tu ne peux pas: il faut que ton serveur (qui ne connait pas le mot de passe en clair, il ne connait que le hash) puisse authentifier l'utilisateur. Comment le pourrait-il si on rajoute un élément variable ? Et quel élément variable, d'ailleurs ? La date pose des problèmes de synchronisation, dans l'article que j'ai mis en lien ils proposent aussi le captcha mais pour moi c'est tout aussi inutile.

    Citation Envoyé par grunk Voir le message
    Mais si on suis t'as logique on pourrait dire de même pour les antivirus , finalement il servent à rien puisque il y'a toujours des virus nouveaux qui ne sont pas détectés.
    Je n'ai jamais dit ça, pas de généralisation hâtive, SVP.

  13. #13
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Soit quelqu'un arrive a pirater la base et dans ce cas il s'en fiche bien du mot de passe: ce qui l'intéresse c'est les autre informations, nom, e-mail, numéro de carte bleue, etc...
    Une base peut servir a plein d'autres choses qu'un site marchand.
    Même sans parler de piratage, une personne peut avoir accès légitime à la base de données utilisateur : si le mot de passe est en clair, il peut utiliser le compte comme le ferrait l'utilisateur.

  14. #14
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 195
    Points : 148
    Points
    148
    Par défaut
    Une base peut servir a plein d'autres choses qu'un site marchand.
    Même sans parler de piratage, une personne peut avoir accès légitime à la base de données utilisateur : si le mot de passe est en clair, il peut utiliser le compte comme le ferrait l'utilisateur.
    Tout à fait d'accord avec sabotage, moi le plus gros risque qu'il y ait c'est que quelqu'un accède au site comme un utilisateur, certes c'est moins grave que sur un site marchand mais bon si cette personne n'est pas censé y avoir accès c'est bien pour une raison

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 67
    Points : 45
    Points
    45
    Par défaut
    j'ai rajouté MR5 et ça a marché. Comme je débute, je vais me contenter de ça. Merci à tous pour vos réponses

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

Discussions similaires

  1. Rechercher une ligne dans une table pour mot de passe
    Par CrasherSEP dans le forum VBA Access
    Réponses: 6
    Dernier message: 25/03/2014, 17h43
  2. [AC-2010] Vérification de mot de passe dans une table ne fonctionne pas
    Par toumack dans le forum VBA Access
    Réponses: 1
    Dernier message: 15/08/2011, 20h50
  3. Mots de passe en clair dans les journaux
    Par Florent-g dans le forum Langage
    Réponses: 1
    Dernier message: 05/10/2009, 14h36
  4. login et mot de pass a partir d'une table
    Par yoyo312 dans le forum VBA Access
    Réponses: 2
    Dernier message: 19/01/2008, 19h11
  5. Mot de passe en dur dans une page php, risqué?
    Par silver.spike dans le forum Langage
    Réponses: 1
    Dernier message: 19/12/2007, 10h47

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