Script "Identifiants oubliés ?"

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Script "Identifiants oubliés ?"

Re: Script "Identifiants oubliés ?"

par JeanJean » 10 janv. 2010, 02:00

Problème résolue.

Ajoute de "" ici =>
mysql_query('UPDATE membre SET mdp="'.$mdpcry.'" WHERE mail="'.$mailsql.'"');
;)

Re: Script "Identifiants oubliés ?"

par JeanJean » 08 janv. 2010, 22:28

Hum... Je vérifie comment si elle s'exécute ? :)

Re: Script "Identifiants oubliés ?"

par jojo1000 » 08 janv. 2010, 22:05

Est-tu sûr que ta requête s'exécute?

Script "Identifiants oubliés ?"

par JeanJean » 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 :
<?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. ;)