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 :

codage md5 et probleme avec POST


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2006
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Octobre 2006
    Messages : 233
    Points : 122
    Points
    122
    Par défaut codage md5 et probleme avec POST
    Bonjour,

    J'ai une base de donnée mySQl géré en php. Pour plus de sécurité, j'enregistre les password avec le codage "md5()", donc lorsqu'un membre se connecte, je n'ai cas faire aussi un md5() avec le password qu'il à rentrer et le comparer avec celui de la base de donnée. Il n'y a pas de fonction inverse au md5 (d'ou son interet) mais alors comment faire pour envoyer son mot de passe en clair par mail lorsqu'il a perdu le sien. Ou alors je doit créer un champ en plus avec le password en clair juste pour les password perdu???


    J'ai également une autre question: sur mon site j'ai plusieurs formulaire que les visiteur soumette au serveur en cliquant sur un bouton. Le problème c'est que s'il appui sur la touche "entrée" au lieu de cliquer sur le dit bouton, rien ne se passe. Comment font les autre site pour que ça marche? Pour préciser ma methode, je récupé le formulaire avec un POST.


    Merki d'avance et bonne continuation pour ce super forum!!

  2. #2
    Membre régulier Avatar de csbilouze
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 79
    Points : 107
    Points
    107
    Par défaut
    salut,

    pour ton mot de passe le meilleur est lorsque l utilisateur clique sur le lien "mot de passe perdu", tu recuperes l email de la personne, tu verifies si elle existe bien dans ta bdd, pour plus de sureté tu peux demander login et mail.
    Ensuite tu génères un nouveau mot de passe que tu insereras dans ta bdd et que tu enverras a l adresse mail indiqué.

    j espere t avoir aidé.

    ++

  3. #3
    Membre régulier
    Inscrit en
    Octobre 2006
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Octobre 2006
    Messages : 233
    Points : 122
    Points
    122
    Par défaut
    Merci de ta réponse, c'est vrai que c'est as bête de regénérer un password! JE croi que c'est ce que je vais faire

    Si quelqu'un aurait une solution par contre pour mon deuxième problême avec mon bouton! Voir prmier message

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    Si tu as un seul bouton de validation au niveau du formulaire tu peux utiliser un <input type="submit"> à la place du <input type="button">

    L'autre méthode un peu plus complexe en javascript consiste à capturer la touche entrée lors de l'appui sur une touche au niveau de ton bouton.

  5. #5
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2006
    Messages : 215
    Points : 256
    Points
    256
    Par défaut
    Salut,

    tu peux nous donner un extrait de ton formulaire, normalement il me semble que si le focus est sur un element du formulaire, une frappe sur entrée l'envoi.


    sahid

  6. #6
    Membre régulier
    Inscrit en
    Octobre 2006
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Octobre 2006
    Messages : 233
    Points : 122
    Points
    122
    Par défaut Suite
    Merci pr les réponse. C'est vrai que pour la plupart des formulaire je n'ai qu'un seul bouton. POur récupérer les valeurs, je supose que je prend $_POST['submit'] ??

    PAr contre j'ai un cas avec deux bouton cette fois-ci et je voudrai que la touche entrée n'en prennent qu'un par défaut, je suppose la encore que j'en prend un de type submit et l'autre le nom qur je veux ou je suppose mal ? lol

    bon je n'ai pas accé à mon code php sur cette ordi mais j'utilise un formulaire avec mail (de type "texte") , mot de passe (de type "password") et un bouton.

    Je le mettrai si ten a vrément besoin pr m'aider , désolé

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Points : 2 284
    Points
    2 284
    Par défaut
    je n'ai cas faire aussi un md5() avec le password qu'il à rentrer et le comparer avec celui de la base de donnée. Il n'y a pas de fonction inverse au md5 (d'ou son interet)
    Oui en même temps attention utiliser tels quels md5("dsfdsf") c'est comme utiliser de la poudre de perlimpinpin. En effet le résultat d'un md5 sur une chaine N est toujours le même. Donc avec un peu de temps on peut très bien casser la somme.

    Pour que cela soit un tant soit peu efficace, il faut utiliser un grain de sel, ou salt.
    Concretement tu modifies la chaine à hasher en y ajoutant une chaine de caracteres pour que la somme soit différente.
    Par exemple dans mon cas du dessus md5("dsfdf"), il faudrait plutot utiliser
    $salt="mon grain de sel"; md5($salt."ddfsfds");

    La c'est deja mieu, car si on brute force le hash on ne pourra pas utiliser un bete dictionnaire.
    Donc le temps de brute forcing sera d'autant plus long.
    Et donc l'attaquant sera d'autant plus découragé.

    Ensuite pour encore augmenter la protection il faudrait être capable d'avoir un grain de sel variable.
    Dans sa composition tout d'abord, en utilisant des données aussi diverses que possible, si possible unique pour chaque client.
    Et ensuite, mais la c'est vraiment compliqué, un grain de sel variable dans le temps....

    Enfin voila, petite apparté.

    bye

  8. #8
    Membre régulier
    Inscrit en
    Octobre 2006
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Octobre 2006
    Messages : 233
    Points : 122
    Points
    122
    Par défaut Suite
    J'avais déja entendu cette technique de grain de sel mais je pensais que c'était le même genre que le md5. En fait c'est pas bête du tout et assez efficace en effet. C'est utilise dans le cas ou un boulet utiliserai "bonjour" ou un truc comme ça comme password! lol

    Merci bqs vous m'avait bqs aidé tout!

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

Discussions similaires

  1. probleme avec POST-QUERY
    Par jeunot0108 dans le forum Forms
    Réponses: 7
    Dernier message: 17/09/2007, 17h18
  2. Probleme avec une requete POST
    Par y0ug dans le forum Réseau
    Réponses: 3
    Dernier message: 19/08/2007, 16h57
  3. bot HTTP probleme avec les POST
    Par djo0012 dans le forum C++
    Réponses: 3
    Dernier message: 21/07/2006, 05h40
  4. probleme avec les posts des formulaires
    Par axel-erator dans le forum Langage
    Réponses: 6
    Dernier message: 04/05/2006, 11h41
  5. [MySQL] probleme envoi avec POST
    Par Tr@nkill dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 24/04/2006, 09h11

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