Vérifier qu'une adresse existe dans une base de donnée

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

gcvoiron
WRInaute impliqué
WRInaute impliqué
 
Messages: 494
Inscription: Mer Oct 19, 2005 15:23

Vérifier qu'une adresse existe dans une base de donnée

Message le Lun Juin 05, 2006 21:59

Bonjour, mon site ayant un espace membre, il arrive que des membres aie perdu leur mot de passe, j'ai donc un formulaire de "mot de passe perdu". Je voudrai envoyer un mail avec le mot de passe, seulement si l'email est présent dans la base de donnée car il arrive que des membres ne savent pas avec quelles adresses ils se sont enregistré, ce qui fait qu'il donne une adresse qui n'est pas dans la base de donnée, il reçoive donc un mail avec "Votre mot de passe est : " est c'est vide.
J'ai donc une page qui demande l'email, je voudrai faire une page qui vérifie si l'email existe, puis qui redirige soit :
->Sur une page avec comme message "Votre mot de passe vous a été envoyé par mail." et que ça envoie le message
->Où si l'email n'existe pas, que ça affiche un message "Nous n'avons aucun compte enregistré avec cet email.".
Savez-vous comment je peux faire ma page de verification? Merci.

spidetra
WRInaute accro
WRInaute accro
 
Messages: 1500
Inscription: Lun Juil 07, 2003 13:06

Message le Lun Juin 05, 2006 22:08

SQL
Code: Tout sélectionner
SELECT email, password from laTable WHERE email = $email


ensuite tu fait un test sur mysql_num_rows

J'en déduis donc que les mot de passe sont stockés en clair dans ta base de donnée.
[edit]
Il fallait évidemment lire mot de passe et non pas email, merdci STFprod
[/edit]
Dernière édition par spidetra le Mar Juin 06, 2006 10:35, édité 1 fois.

gcvoiron
WRInaute impliqué
WRInaute impliqué
 
Messages: 494
Inscription: Mer Oct 19, 2005 15:23

Message le Lun Juin 05, 2006 22:10

Oui ils sont stockés en claire dans ma base de donnée.
J'utilise :
Code: Tout sélectionner
<?php
require('./prepend.inc.php');
$result = mysql_query("SELECT password FROM `demo_a_accounts` WHERE `email` = '$email3'");
$row = mysql_fetch_row($result);
$num = $row[0];

mail("$email3", "Votre mot de passe pour $seitenname", "Cher utilisateur\n \nVoici votre mot de passe Boost-Trafic\n \nVotre mot de passe est = $num\n \nL'équipe $seitenname","From: $seitenname <$emailadresse>");
?>


STFprod
WRInaute passionné
WRInaute passionné
 
Messages: 627
Inscription: Mer Jan 14, 2004 7:39

Message le Lun Juin 05, 2006 23:20

spidetra a écrit:SQL
Code: Tout sélectionner
SELECT email, password from laTable WHERE email = $email


ensuite tu fait un test sur mysql_num_rows

J'en déduis donc que les emails sont stockés en clair dans ta base de donnée.

J'en déduis donc que les mots de passe sont stockés en clair dans ta base de donnée.

Normalement, on en édite un nouveau pour éviter de stocker des mots de passe en clair :-)

gcvoiron
WRInaute impliqué
WRInaute impliqué
 
Messages: 494
Inscription: Mer Oct 19, 2005 15:23

Message le Lun Juin 05, 2006 23:46

Les mots se passes sont aussi stockés en claire.
Normalement, on en édite un nouveau pour éviter de stocker des mots de passe en clair

Je n'ai pas compris ce que ça voulais dire...


dmathieu
Modérateur
Modérateur
 
Messages: 6927
Inscription: Ven Jan 09, 2004 16:21

Message le Mar Juin 06, 2006 6:44

Ce qu'il veut dire, c'est que ce n'est absolument pas sécurisé de stocker le mot de passe en clair.
Si quelqu'un arrive à cracker ta base de données, il n'aura qu'à la lire pour connaitre tous les mots de passe.

Alors que en hashant les mots de passe avec sha1 ou md5, ce sera beaucoup plus sécurisé.

gcvoiron
WRInaute impliqué
WRInaute impliqué
 
Messages: 494
Inscription: Mer Oct 19, 2005 15:23

Message le Mar Juin 06, 2006 6:51

sha1 ou md5,

Ok, je le ferai. Merci.


f_trt
WRInaute passionné
WRInaute passionné
 
Messages: 781
Inscription: Sam Sep 17, 2005 22:36

Message le Mar Juin 06, 2006 6:59

gcvoiron a écrit:
sha1 ou md5,

Ok, je le ferai. Merci.


Mais attention tu ne seras plus en mesure de fournir l'ancien mot de passe par définition quelque chose crypté en md5 ne peut pas être reverse c'est à dire qu'en cas de perte d'un mot de passe il te faudra en générer un nouveau, l'envoyé a ton membre et en même temps l'enregistrer crypté dans ta base.

A+

Zim'
WRInaute passionné
WRInaute passionné
 
Messages: 804
Inscription: Jeu Avr 27, 2006 2:08

Message le Mar Juin 06, 2006 10:18

ili faut préférer le md5 au sha1 :)

spidetra
WRInaute accro
WRInaute accro
 
Messages: 1500
Inscription: Lun Juil 07, 2003 13:06

Message le Mar Juin 06, 2006 10:45

Zim' a écrit:ili faut préférer le md5 au sha1 :)


il faur préférer SHA1 à MD5 :wink:

Zim'
WRInaute passionné
WRInaute passionné
 
Messages: 804
Inscription: Jeu Avr 27, 2006 2:08

Message le Mar Juin 06, 2006 18:40

spidera... pourquoi? Au moins le md5 ne peut etre décodé...

Enfin bon moi ce que j'en dis.

spidetra
WRInaute accro
WRInaute accro
 
Messages: 1500
Inscription: Lun Juil 07, 2003 13:06

Message le Mar Juin 06, 2006 18:46

Zim' a écrit:spidera... pourquoi? Au moins le md5 ne peut etre décodé...

Enfin bon moi ce que j'en dis.

Sha1 non plus.
http://en.wikipedia.org/wiki/SHA1

On a trouvé des collisions sur MD5, en théorie ( en théorie seulement ), le MD5 n'est plus secure.
Sha1 ou MD5, vous pensez au petit grains de sel ( cf ce forum ou le dernier tuto de kazhar )

http://en.wikipedia.org/wiki/MD5
Wikipedia a écrit:In 1996, a flaw was found with the design of MD5; while it was not a clearly fatal weakness, cryptographers began to recommend using other algorithms, such as SHA-1 (recent claims suggest that SHA-1 has been broken, however). In 2004, more serious flaws were discovered making further use of the algorithm for security purposes questionable.


C'est moi qui ai mis en gras. Faudrait même déjà passé en SHA-2 :lol:

Zim'
WRInaute passionné
WRInaute passionné
 
Messages: 804
Inscription: Jeu Avr 27, 2006 2:08

Message le Mer Juin 07, 2006 17:05

Moui, merci pour ces précisions... Pour ma part, je pense que dès lors qu'on prend le temps de crypter ou hasher les mot de pass, c'est déjà une bonne démarche... Après on peux toujours mieux faire, comme dans tous les domaines.

Mais je croyais que le MD5 n'était pas décryptable... Mais seulement "cassable", contrairement au SHA1 qui est un algo de cryptage.

Bref, l'un ou l'autre je pense que pour un site lambda, c'est le minimum a faire, et que ça n'a guere d'importance.

Mais merci pour ces précisions


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Google Base, Google API, Google Feed Fetcher, Google Answers



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités