begin process at 2012 02 15 23:24:06
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Base de données

 > RECUP IDENTIFICATION

RECUP IDENTIFICATION


 Description

comme cela est dis dans le titre

y a juste un probleme ce sécurité donc ca ne marche pas sur tout les serveurs le probleme viens de : mail($mail,$subject,$message,$entete);
si quelqu'un peux m'aidé a sécuriser merci d'avance


Source

  • dans une page que l'on va nommé passperdu.php
  • on vas y mettre ca :
  • <html>
  • <body>
  • <p align="center"><b>Vous avez perdu votre mot de passe ?</b><br><br> </p>
  • <form action="index.php" method="GET">
  • <p align="center"> Entrez votre email ici : <input name="mail" type="text" id="mail">
  • <br>
  • <br> <input type="hidden" name="page" value="recupassok"> <input type="submit" name="Submit" value="Envoyer">
  • </form> <br><br>
  • </body>
  • </html>
  • ensuite nous allons faire une autre page que l'on vas appeler recuppassok.php
  • et y mettre cela :
  • <? include('page de connexion a la BDD');?>
  • <?
  • if(empty($_GET['mail'])) //On verifie que l'utilisateur est bien rentré une e-mail
  • {
  • $reponse = 'Vous n\'avez pas saisi d\'e-mail.';
  • }
  • else
  • {
  • $mail = htmlentities($_GET['mail']); //On recupère la variable et on déactive les balises html s'il y en avait encore
  • $verification2 = mysql_query("SELECT COUNT(*) FROM membres_tbl WHERE mail='$mail'") or die (mysql_error());
  • $donnees2 = mysql_fetch_array($verification2)or die (mysql_error());
  • if($donnees2['COUNT(*)'] != 1) //On cherche si l'e-mail existe
  • {
  • $reponse = 'Cette adresse e-mail n\'est pas présente sur notre site, veuillez vous inscrire svp.';
  • }
  • else
  • {
  • $sql1 = mysql_query("SELECT * FROM membres_tbl WHERE mail='$mail'"); //On recupère les infos du membre si son e-mail est bonne
  • $donnees = mysql_fetch_array($sql1);
  • $login = $donnees['login'];
  • $pass = $donnees['password'];
  • $message = '<html><body>Bonjour,<br><br>'; //On fait le mail
  • $message .= 'Comme vous l\'avez demandé,<br>';
  • $message .= 'voici un rappel de vos identifiants, notez les précieusement :<br>';
  • $message .= 'Votre Pseudo : ' . $login .'<br>';
  • $message .= 'Votre Code Secret : ' . $pass .'<br><br>';
  • $message .= 'A très bientôt sur le site! <br>';
  • $subject .= 'Rappel de vos identifiants';
  • $entete .= "From: <votre e-mail>\r\n";
  • $entete .= "Reply-To: votre e-mail\r\n";
  • mail($mail,$subject,$message,$entete); //On envoye le message
  • $reponse = 'Votre adresse a bien été reconnue.<br>';
  • $reponse .= 'Votre Pseudo et votre Code vous ont été envoyés par e-mail.<br>';
  • $reponse .= 'Vous devriez les recevoir dans votre boîte email dans quelques minutes.';
  • }
  • mysql_close(); //Deconnection...
  • }
  • ?>
  • <html>
  • <body>
  • <p align="center"><? echo $reponse; ?> <!-- On affiche la reponse du script -->
  • <br><br> </p>
  • </body>
  • </html>
dans une page que l'on va nommé passperdu.php 
on vas y mettre ca :

<html>
<body>
 <p align="center"><b>Vous avez perdu votre mot de passe ?</b><br><br> </p>
<form action="index.php" method="GET">
  <p align="center">  Entrez votre email ici : <input name="mail" type="text" id="mail">
	<br>
    <br> <input type="hidden" name="page" value="recupassok">   <input type="submit" name="Submit" value="Envoyer">
  </form> <br><br>

</body>
</html>



ensuite nous allons faire une autre page que l'on vas appeler recuppassok.php
et y mettre cela :


<? include('page de connexion a la BDD');?>
<?
if(empty($_GET['mail'])) //On verifie que l'utilisateur est bien rentré une e-mail
{
	$reponse = 'Vous n\'avez pas saisi d\'e-mail.';
}
else
{

	$mail = htmlentities($_GET['mail']); //On recupère la variable et on déactive les balises html s'il y en avait encore
  
	
	$verification2 = mysql_query("SELECT COUNT(*) FROM membres_tbl WHERE mail='$mail'") or die (mysql_error());
	$donnees2 = mysql_fetch_array($verification2)or die (mysql_error());
	
	if($donnees2['COUNT(*)'] != 1) //On cherche si l'e-mail existe
	{
		$reponse = 'Cette adresse e-mail n\'est pas présente sur notre site, veuillez vous inscrire svp.';
	}
	else
	{  
	  
		$sql1 = mysql_query("SELECT * FROM membres_tbl WHERE mail='$mail'"); //On recupère les infos du membre si son e-mail est bonne
		$donnees = mysql_fetch_array($sql1);
		$login = $donnees['login'];
		$pass = $donnees['password'];
	
	
		$message = '<html><body>Bonjour,<br><br>'; //On fait le mail
		$message .= 'Comme vous l\'avez demandé,<br>';
		$message .= 'voici un rappel de vos identifiants, notez les précieusement :<br>';
		$message .= 'Votre Pseudo : ' . $login .'<br>';
		$message .= 'Votre Code Secret : ' . $pass .'<br><br>';
		$message .= 'A très bientôt sur le site! <br>';
		$subject .= 'Rappel de vos identifiants';
		
		$entete .= "From: <votre e-mail>\r\n";
		$entete .= "Reply-To: votre e-mail\r\n";
	   
		mail($mail,$subject,$message,$entete); //On envoye le message
	
		$reponse = 'Votre adresse a bien été reconnue.<br>';
		$reponse .= 'Votre Pseudo et votre Code vous ont été envoyés par e-mail.<br>'; 
		$reponse .= 'Vous devriez les recevoir dans votre boîte email dans quelques minutes.';
	}
	
	mysql_close(); //Deconnection...

}



?>

<html>
<body>
<p align="center"><? echo $reponse; ?> <!-- On affiche la reponse du script -->
<br><br>     </p>
</body>
</html>



 Sources de la même categorie

Source avec Zip RECHERCHE DES DOUBLONS DANS UNE TABLE MYSQL EN SÉLECTIONNANT... par aladec2007
[CRON] INSERT ON DUPLICATE KEY UPDATE par pierreSabatier
Source avec Zip CLASS MYSQL 5/PHP5 AVEC GESTION DES EXCEPTION ET DES REQUÊTE... par devil_may_cry
Source avec Zip Source avec une capture MOTEUR DE RECHERCHE SUR BASE MYSQL FULLTEXT ET BOOLEAN AVEC ... par cod57
SYSTÈME DE PAGINATION AVEC BDD ET IMAGES (FICHIERS) par begueradj

Commentaires et avis

Commentaire de renkev le 13/03/2010 11:11:11

je trouve le code correct je l'ai testé sur un des mes espaces et il marche il serait intéressant d'obtenir plus de détails sur la nature de l'erreur et aussi le serveur sur le quel il ya un probleme!

Commentaire de luludovicp le 13/03/2010 13:23:54

et bien sur sfrperso il est dis quand je teste ca envois pas le mail et ca me dis que la ligne "mail($mail,$subject,$message,$entete); //On envoye le message " n'est pas securiser

Commentaire de sepult le 15/03/2010 13:40:46

Sympas, mais quand le password est en md5 ??? niquer !

Commentaire de luludovicp le 15/03/2010 14:20:27

non malheureusement

Commentaire de luludovicp le 15/03/2010 14:22:34

désolé j'ai pas pu finir d'écrire

mais pour les passes en md5 ca marche pas mais je pense que ca peux ce faire faut que j'y réfléchi mais je comprend pas trop le système :s

Commentaire de calfou le 15/03/2010 19:43:12

Slt,

Pour les pass en md5 en fait, il faut juste que tu en crée un nouveau que tu envois par mail et que tu met en bd afin que le type puisse se loguer de nouveau et le remplacer suite à son identification.

Commentaire de Astalavista le 29/03/2010 01:08:52

Tu doit avoir un problème d'injection sql, ton htmlentities() ne convertit pas les ' par défaut ... tu devrais plutôt utiliser mysql_real_escape_string()...

Commentaire de luludovicp le 06/04/2010 20:06:52

J'ai essayer et ca ne marche pas
j'ai toujours le même probleme sa marche sur 1and1 sur d'autre serveur mais pas sur sfr par exemple ya surement un blocage

exemple :

{

$mail = mysql_real_escape_string($_GET['mail']); //On recupère la variable et on déactive les balises html s'il y en avait encore

Commentaire de itaris le 19/10/2010 10:36:43

tout d'abord merci pour ce code :)
ensuite mes mots de passe sont crypté en MDP5
comment faire pour les décrypter car quand j'envoie le message j'ai bien le pseudo mais pas le mot de passe ce qui est le plus important ^^

Commentaire de itaris le 19/10/2010 10:58:51

j'ai aussi un autre probleme
les balises html apparaissent dans le mail

Commentaire de luludovicp le 19/10/2010 11:30:23

faut les retirés je vais étudier ca

Commentaire de itaris le 19/10/2010 11:48:43

oui je les ai retiré mais c'est embêtant car sa affiche en un bloc sa n'est pas très esthétique

Commentaire de luludovicp le 19/10/2010 11:53:27

$message = '<html><body>Bonjour,<br><br>'; //On fait le mail
$message .= 'Comme vous l\'avez demandé,<br>';
$message .= 'voici un rappel de vos identifiants, notez les précieusement :<br>';
$message .= 'Votre Pseudo : ' . $login .'<br>';
$message .= 'Votre Code Secret : ' . $pass .'<br><br>';
$message .= 'A très bientôt sur le site! <br>';
$message .= '</body></html>'; <-- la balise body et html n'étais as fermé

Commentaire de itaris le 19/10/2010 11:59:55

non sa ne marche pas..
en tout cas pas sur gmail

Commentaire de luludovicp le 19/10/2010 12:08:09

alors je comprend pas c'est bizard
moi ca fonctionne très bien
essaye sur une autre adresse mail (non gmail)

sinon pour le md5 je connais pas trop mais je pense qu'il faudrait appeler une page qui génère un nouveau mot de passe

Commentaire de itaris le 19/10/2010 19:53:10

même avec hotmail cela ne marche pas..
il m'affiche les balises html

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,905 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales