Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/03/2007, 22h04   #1
Membre régulier
 
Inscription : octobre 2006
Messages : 233
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : octobre 2006
Messages : 233
Points : 94
Points : 94
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!!
kuja2053 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2007, 00h26   #2
Membre régulier
 
Avatar de csbilouze
 
Inscription : janvier 2005
Messages : 79
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : janvier 2005
Messages : 79
Points : 93
Points : 93
Envoyer un message via MSN à csbilouze
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é.

++
csbilouze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2007, 13h12   #3
Membre régulier
 
Inscription : octobre 2006
Messages : 233
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : octobre 2006
Messages : 233
Points : 94
Points : 94
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
kuja2053 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2007, 13h36   #4
Membre chevronné
 
Inscription : juin 2005
Messages : 572
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Haute Vienne (Limousin)

Informations forums :
Inscription : juin 2005
Messages : 572
Points : 690
Points : 690
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.
ratapapa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2007, 13h39   #5
Membre confirmé
 
Développeur Web
Inscription : septembre 2006
Messages : 215
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : septembre 2006
Messages : 215
Points : 246
Points : 246
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
sahid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2007, 19h25   #6
Membre régulier
 
Inscription : octobre 2006
Messages : 233
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : octobre 2006
Messages : 233
Points : 94
Points : 94
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é
kuja2053 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2007, 21h44   #7
Membre Expert
 
Inscription : janvier 2007
Messages : 1 452
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : janvier 2007
Messages : 1 452
Points : 1 914
Points : 1 914
Citation:
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
kaymak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2007, 22h18   #8
Membre régulier
 
Inscription : octobre 2006
Messages : 233
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : octobre 2006
Messages : 233
Points : 94
Points : 94
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!
kuja2053 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h51.


 
 
 
 
Partenaires

Hébergement Web