Script "Identifiants oubliés ?"
Posté : 08 janv. 2010, 18:50
Bonsoir,
Je suis entrain de créer un script pour les utilisateurs têtes en l'air. :p
En effet, dans ce script, il vous suffit de renseigner votre mail pour que vous receviez votre pseudo et un nouveau mot de passe.
Cependant, j'ai quelques erreurs :
1/ Le mot de passe s'est changé une seule fois : Jean => 19521304. Mais depuis à chaque nouveaux essais, rien ne change. :s
2/ Le mot de passe est en claire ! Alors que j'ai passé un coup de sha1 dessus.
Sans plus attendre, voilà le code :
Merci et bonne soirée.
Je suis entrain de créer un script pour les utilisateurs têtes en l'air. :p
En effet, dans ce script, il vous suffit de renseigner votre mail pour que vous receviez votre pseudo et un nouveau mot de passe.
Cependant, j'ai quelques erreurs :
1/ Le mot de passe s'est changé une seule fois : Jean => 19521304. Mais depuis à chaque nouveaux essais, rien ne change. :s
2/ Le mot de passe est en claire ! Alors que j'ai passé un coup de sha1 dessus.
Sans plus attendre, voilà le code :
<?php
if(isset($_POST['mail'])){
$host = "localhost";
$login = "Jean";
$mdp = "";
$bdd = "projet";
$co_serv = mysql_connect($host,$login,$mdp);
$co_bdd = mysql_select_db($bdd);
if(!$co_serv || !$co_bdd){
$erreur = 'Connexion au serveur distant impossible';
}
$mail = mysql_real_escape_string($_POST['mail']);
if(empty($mail)){
$erreur = 'Vous n\'avez pas rentré l\'adresse email';
}
$mail_query = mysql_query('SELECT mail FROM membre WHERE mail="'.$mail.'"');
$echo_mail = mysql_num_rows($mail_query);
if($echo_mail == 0){
$erreur = 'Cette adresse e-mail n\'appartient à aucun compte';
}
else{
$pseudo_query = mysql_query('SELECT pseudo FROM membre WHERE mail="'.$mail.'"');
$echo_pseudo = mysql_result($pseudo_query,0);
$new_motdepasse = mt_rand(1000,100000000);
if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)){
$br = "\r\n";
}
else{
$br = "\n";
}
$header = 'MIME-Version: 1.0'.$br;
$header .= 'Content-type: text/html; charset=iso-8859-1'.$br;
$header .= 'From: [email protected]'.$br;
$titre = 'Perte d\'identifiant';
$message = 'Bonjour,<br/><br/>
Ci-dessous se trouve vos idéentifiants oubliés. Pour des raisons de sécurité nous vous avons atribué un nouveau mot de passe. Ce dernier pourra être changer dans votre profil.<br/><br/>
Identifiant => '.$echo_pseudo.'<br/>
Mot de passe => '.$new_motdepasse.'<br/><br/>
A bientôt !';
ini_set('SMTP','smtp.free.fr');
ini_set('sendmail_from','[email protected]');
@mail($mail,$titre,utf8_decode($message),$header);
$mdpcry = sha1($new_motdepasse);
mysql_query('UPDATE membre SET mdp='.$mdpcry.' WHERE mail="'.$mail.'"');
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Index</title>
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />
</head>
<body>
<div id="corp"> <!-- Corp de la page -->
<div id="banniere"> <!-- Bannière de la page -->
</div>
<div id="menu"> <!-- Menu horizontal -->
<ul id="onglets"> <!-- Menu horizontal de la page -->
<li class="arrondi"><a href="index.php">Accueil</a></li>
<li><a href="astuces.php">Exposez !</a></li>
<li><a href="forum/index.php">Forum</a></li>
</ul>
</div>
<div id="mdp_oublie"> <!-- Formualire email -->
<span style="font:14px calibri">Vous avez oublié vos identifiants ? <br>
Pas de panique, nous allons vous envoyer votre pseudo ainsi qu'un nouveau mot de passe par mail ! <br/><br/></span>
<form method="post">
<label for="mail" style="font:14px calibri" maxlength="16" >Adresse e-mail :<br/></label>
<input type="text" name="mail" /><br /><br />
<input type="submit" name="submit" Value="Envoyer" /><br /><br/>
<?php
if(!empty($erreur)){
echo '<br/><span class="erreur">'.$erreur.'</span>';
}
?>
</form>
</div>
</div>
</body>
</html> Merci et bonne soirée.