Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zér0 > Les tutoriels > Non-Officiels > Site Web > PHP > Optimisation & Sécurité > Lecture du tutoriel

Redéfinition de mot de passe

Avatar
Auteur : cyril5789
Créé : le 15/01/2008 20:46:02
Modifié : le 31/03/2008 22:57:28
Noter et commenter ce tutoriel
Imprimer ce tutoriel
Vous vous apprêtez à lire un tutoriel rédigé par un membre de ce site. Malgré tout le soin que ce membre a pu apporter au tutoriel, nous ne pouvons pas garantir que les informations contenues sur cette page sont exactes à 100%. Merci de garder cela en tête lorsque vous lirez cette page ;o)
Bonjour à tous !

Votre site web dispose d'un espace membres ?
Vous cryptez les mots de passe des membres via la fonction md5() ?
Vous voulez permettre aux membres ayant oublié leur mot de passe d'en définir un nouveau ?

Ce tuto est fait pour vous !

Deux pages simples permettront de faire cela très rapidement.

Conditions pré-requises



Dans ce tuto, je partirai du principe que :
Sommaire du chapitre :

Page 1 : récupérer l'adresse e-mail de notre "tête en l'air"

Pour commencer



Comment allons-nous procéder ?

Je vais adopter une technique à peu près similaire à celle du Site du Zér0.

Dans un premier temps, nous allons demander au membre en question de rentrer son adresse e-mail de contact, afin de vérifier pour commencer qu'elle est bien dans nos tables.

Puis nous allons envoyer un mail de vérification au membre via cette adresse, qui permettra de vérifier si c'est bien le propriétaire de l'adresse qui a fait la demande de redéfinition. Dans ce mail, nous inviterons le membre à cliquer sur un lien particulier, qui le renverra sur une page de votre site.

La page de ce site va générer aléatoirement un nouveau mot de passe et remplacer l'ancien avant de l'envoyer dans un nouveau mail.

Le membre pourra donc se reconnecter sur votre site. À vous ensuite de lui permettre de changer son mot de passe par le sien (plus "mémorisable" que notre charabia aléatoire du type : h6z8f9k9a0) via un formulaire du type "Modifier son compte" que je ne traiterai pas ici. :p
Vous allez devoir ajouter un champ dans la table membres de votre base de données :
verif de type VARCHAR (10).


Page oublie_mdp.php



Dans cette page se trouvera un simple formulaire avec un champ de type "texte" et un bouton "Envoyer".

Image utilisateur


On traitera le formulaire et la gestion du premier mail dans cette même page. C'est pourquoi le action de la <form> pointera vers la même page.

Le formulaire



Code : HTML
1
2
3
4
<form method="post" action="./oublie_mdp.php">
<input type="text" name="email">
<input type="submit" value="Envoyer les informations">
</form>


Rien de bien compliqué jusqu'à présent. Si vous ne comprenez pas, je vous invite à lire les cours de M@teo21 sur les formulaires.

La récupération



Vu que nous traitons le tout sur la même page, nous allons devoir vérifier qu'une adresse e-mail a bien été envoyée par POST, auquel cas nous traiterons la demande.

Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
<?php 
//Vérification de l'existence de la variable ; on vérifie aussi qu'elle n'est pas vide
if((isset($_POST['email'])) && (!(empty($_POST['email']))))
{
 
// Le code ici...
 
}
else
{
   ?>
   <form method="post" action="./oublie_mdp.php">
   <input type="text" name="email">
   <input type="submit" value="Envoyer les informations">
   </form>
   <?php
}
?>


Que va-t-on mettre dans cette condition ?


Très simple ! On va commencer par vérifier si l'adresse e-mail existe dans vos tables !

Code : PHP
1
2
3
4
5
<?php
$mail = htmlspecialchars($_POST['email'], ENT_QUOTES); // On sécurise la variable avant
//On compte le nombre d'entrée(s) dans la table où le champ "mail" vaut $mail
$nombremail = mysql_result(mysql_query("SELECT COUNT(*) FROM membres WHERE mail = '".$mail."'"), 0);
?>


Maintenant, si $nombremail n'est pas égale à "0", c'est-à-dire que le mail existe, on continue. Sinon, on affiche une erreur, et pourquoi pas le formulaire à nouveau ?

Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php 
//Vérification de l'existence de la variable ; on vérifie aussi qu'elle n'est pas vide
if((isset($_POST['email'])) && (!(empty($_POST['email']))))
{
   $mail = htmlspecialchars($_POST['email'], ENT_QUOTES); // On sécurise la variable avant
   //On compte le nombre d'entrée(s) dans la table où le champ "mail" vaut $mail
   $nombremail = mysql_result(mysql_query("SELECT COUNT(*) FROM membres WHERE mail = '".$mail."'"), 0);
 
   if ($nombremail!= 0)
   {
 
   // Le code ici...
 
   }
   else
   {
   ?>
   <h3><span style=\'color:red\'>ERREUR : Votre adresse e-mail n\'existe pas dans la table.</span></h3><br />//écriture de l'erreur
   <form method="post" action="./oublie_mdp.php">
   <input type="text" name="email">
   <input type="submit" value="Envoyer les informations">
   </form>
   <?php
   }
}
else
{
   ?>
   <form method="post" action="./oublie_mdp.php">
   <input type="text" name="email">
   <input type="submit" value="Envoyer les informations">
   </form>
   <?php
}
?>


Image utilisateur

"Mot" aléatoire


Nous allons avoir besoin d'un "mot" aléatoire qui va servir dans le lien du mail que je traiterai plus bas.

Pour cela je vais procéder d'une manière très simple, mais efficace. Évidemment, si vous connaissez un autre moyen, allez-y gaiement ! :lol:

Mon "mot" aléatoire aura cette forme : 1g2a9o5f0f.
Autrement dit : chiffre lettre chiffre lettre chiffre lettre chiffre lettre chiffre lettre.

Je commence donc par créer un tableau (un array) contenant l'alphabet (vous pourrez changer ceci par ce que vous voudrez) :

Code : PHP
1
2
3
<?php
$tablettre = array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z");
?>


Puis j'initialise la fonction de la génération aléatoire :

Code : PHP
1
2
3
<?php
mt_srand((float) microtime()*10000);
?>


Et je crée cinq premières variables $a, $b, $c, $d, et $e qui contiendront un chiffre aléatoire entre 0 et 9 :

Code : PHP
1
2
3
4
5
6
7
<?php
$a = mt_rand(0, 9);
$b = mt_rand(0, 9);
$c = mt_rand(0, 9);
$d = mt_rand(0, 9);
$e = mt_rand(0, 9);
?>


Je crée maintenant les cinq dernières variables $f, $g, $h, $i, $j, qui elles, contiendront un nombre aléatoire entre 0 et 25. Je les utiliserai pour récupérer l'élément de l'array "tablettre". Je rappelle qu'un tableau commence à l'indice "0" et se termine à l'indice "N-1" :

IndiceValeur
0
A
1
B
2
C
...
...
...
...
24
Y
25
Z


Code : PHP
1
2
3
4
5
6
7
<?php
$f = mt_rand(0, 25);
$g = mt_rand(0, 25);
$h = mt_rand(0, 25);
$i = mt_rand(0, 25);
$j = mt_rand(0, 25);
?>


Je concatène le tout pour n'en faire qu'une seule et même variable :

Code : PHP
1
2
3
<?php
$motaleatoire = $a.$tablettre[$f].$b.$tablettre[$g].$c.$tablettre[$h].$d.$tablettre[$i].$e.$tablettre[$j];
?>


Le mail



Maintenant, nous avons tout ce qu'il nous faut !
Il ne reste plus qu'à rédiger le mail.

On commence par afficher le message :

Code : PHP
1
2
3
<?php
echo 'Votre adresse email '.$mail.' existe dans nos tables et un mail de vérification vient de vous être envoyé.<br /><br />Consultez votre boîte mail, des explications vous seront fournies.';
?>


Image utilisateur

Puis le contenu du mail :

Code : PHP
1
2
3
<?php
$message = '<h5>Bonjour !<br>Vous avez demandé à redéfinir votre mot de passe. Veuillez cliquer sur le lien de vérification ci-dessous afin qu\'un nouveau mot de passe soit défini.<br><br></h5><a>http://www.votre-site.com/verif_mdp.php?e='.$mail.'&v='.$motaleatoire.'</a><br><br><br><h6>Ce mail a été envoyé automatiquement, veuillez ne pas y répondre.<br>Si ce mail vous a été envoyé alors que vous n\'en avez pas fait la demande, ne vous inquiétez pas, personne à part vous ne pourra redéfinir votre mot de passe.</h6>'; 
?>


Dans l'adresse de vérification, j'ajoute les paramètres "e" (pour e-mail) avec l'adresse e-mail du destinataire, et "v" (pour vérification) avec la variable $motaleatoire.

Je rajoute les normes "mail" :

Code : PHP
1
2
3
4
5
6
7
8
<?php
$message = '<html><head></head><body>' . $message . '</body></html>';
                                        
$sujet = 'webmaster de votre-site.com : Mail de vérification';
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: vous@votre-site.com';
?>


On envoie le tout par mail :

Code : PHP
1
2
3
<?php
mail($mail, $sujet, $message, $headers);
?>


Et on met à jour le champ verif de la table membres avec la variable $motaleatoire.

Code : PHP
1
2
3
<?php
mysql_query('UPDATE membres SET verif="' . $motaleatoire . '" WHERE mail="' . $mail .'"') OR DIE (mysql_error()); 
?>


Voilà !
On a fini la première partie.

Résumons.

Page oublie_mdp.php



Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
//Vérification de l'existence de la variable ; on vérifie aussi qu'elle n'est pas vide
if((isset($_POST['email'])) && (!(empty($_POST['email']))))
{
   $mail = htmlspecialchars($_POST['email'], ENT_QUOTES); // on sécurise la variable avant
   //On compte le nombre d'entrée(s) dans la table où le champ "mail" vaut $mail
   $nombremail = mysql_result(mysql_query("SELECT COUNT(*) FROM membres WHERE mail = '".$mail."'"), 0);
 
   if ($nombremail!= 0)
   {
 
      $tablettre = array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z");
 
      mt_srand((float) microtime()*10000);
 
 
        $a = mt_rand(0, 9);
        $b = mt_rand(0, 9);
        $c = mt_rand(0, 9);
        $d = mt_rand(0, 9);
        $e = mt_rand(0, 9);
        
        $f = mt_rand(0, 26);
        $g = mt_rand(0, 26);
        $h = mt_rand(0, 26);
        $i = mt_rand(0, 26);
        $j = mt_rand(0, 26);
 
        $motaleatoire =  $a.$tablettre[$f].$b.$tablettre[$g].$c.$tablettre[$h].$d.$tablettre[$i].$e.$tablettre[$j];
 
        echo 'Votre adresse e-mail '.$mail.' existe dans nos tables et un mail de vérification vient de vous être envoyé.<br /><br />Consultez votre boîte mail, des explications vous seront fournies.';
 
        $message = '<h5>Bonjour !<br>Vous avez demandé à redéfinir votre mot de passe. Veuillez cliquer sur le lien de vérification ci-dessous afin qu\'un nouveau mot de passe soit défini.<br><br></h5><a>http://www.votre-site.com/verif_mdp.php?e='.$mail.'&v='.$motaleatoire.'</a><br><br><br><h6>Ce mail a été envoyé automatiquement, veuillez ne pas y répondre.<br>Si ce mail vous a été envoyé alors que vous n\'en avez pas fait la demande, ne vous inquiétez pas, personne à part vous ne pourra redéfinir votre mot de passe.</h6>';
 
        $message = '<html><head></head><body>' . $message . '</body></html>';
                                       
        $sujet = 'webmaster de votre-site.com : Mail de vérification';
        $headers  = 'MIME-Version: 1.0' . "\r\n";
        $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
        $headers .= 'From: vous@votre-site.com';
 
        mail($mail, $sujet, $message, $headers);
 
        mysql_query('UPDATE membres SET verif="' . $motaleatoire . '" WHERE mail="' . $mail .'"') OR DIE (mysql_error());
   }
   else
   {
   ?>
   <h3><span style=\'color:red\'>ERREUR : Votre adresse mail n\'existe pas dans la table.</span></h3><br /><!-- écriture de l'erreur -->
   <form method="post" action="./oublie_mdp.php">
   <input type="text" name="email">
   <input type="submit" value="Envoyer les informations">
   </form>
   <?php
   }
 
}
else
{
   ?>
   <form method="post" action="./oublie_mdp.php">
   <input type="text" name="email">
   <input type="submit" value="Envoyer les informations">
   </form>
   <?php
}
?>

Page 2 : affecter un nouveau mot de passe

Nous voici dans la deuxième partie de ce tutoriel !

Le mail a été envoyé, un "mot" aléatoire a été ajouté dans le champ verif sur la ligne du membre ; maintenant, le membre clique sur le lien fourni dans le mail, il tombe sur la page verif_mdp.php. Que fait-on ensuite ?

Eh bien, on commence par utiliser nos variables "e" et "v" ! Vous vous en souvenez ? "e" pour e-mail, et "v" pour vérification.
Étant donné qu'un "mot" aléatoire a été stocké dans le champ vérif sur la ligne du membre dans la table, et que ce mot est bel et bien "aléatoire", eh bien on peut être sûrs que seul un "mot" aléatoire ne correspond à l'adresse e-mail située dans la même entrée !

Donc, si dans la table je prends mon adresse (ch_67_89@msn.com), je peux être sûr qu'elle sera la seule à comporter le "mot" aléatoire 0t8a9m0e5h (par exemple).
Et vice versa ! Si je prends dans la table le "mot" aléatoire 0t8a9m0e5h, seule l'adresse e-mail ch_67_89@msn.com sera sur la même ligne. Car la probabilité pour que deux "mots" aléatoires générés soient identiques est vraiment très très très faible. Surtout dans une période de temps donnée (le temps qu'il récupère le mail et qu'il clique sur le lien).

Page verif_mdp.php



Alors maintenant, on va juste vérifier dans un premier temps que les variables -récupérées de l'adresse par $_GET['e'] et $_GET['v']- existent bien et ne sont pas vides (auquel cas on met un message d'erreur).

Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<?php 
if((isset($_GET['e'])) && (isset($_GET['v'])) && (!(empty($_GET['e']))) && (!(empty($_GET['v']))))
{
 
   // Le code ici...
 
}
else
{
        echo 'Le lien qui vous a été fourni est périmé.<br />':
}
?>


On continue en sécurisant les deux variables :

Code : PHP
1
2
3
4
<?php
$mail = htmlspecialchars($_GET['e'], ENT_QUOTES);
$verif = htmlspecialchars($_GET['v'], ENT_QUOTES);
?>



De la même manière que tout à l'heure pour vérifier si le mail existe, on vérifie à nouveau s'il existe une entrée dans la table membres comportant dans le champ mail ==> $mail, et dans le champ verif ==> $verif :

Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
<?php 
if((isset($_GET['e'])) && (isset($_GET['v'])) && (!(empty($_GET['e']))) && (!(empty($_GET['v']))))
{
 
   $mail = htmlspecialchars($_GET['e'], ENT_QUOTES);
   $verif = htmlspecialchars($_GET['v'], ENT_QUOTES);
 
  $nombremail = mysql_result(mysql_query("SELECT COUNT(*) FROM membres WHERE mail = '".$mail."' AND verif ='".$verif."'"), 0);
 
}
else
{
        echo 'Le lien qui vous a été fourni est périmé.<br />':
}
?>


Si $nombremail est bien différente de "0", on continue ; sinon, on affiche un message d'erreur :

Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php 
if((isset($_GET['e'])) && (isset($_GET['v'])) && (!(empty($_GET['e']))) && (!(empty($_GET['v']))))
{
 
   $mail = htmlspecialchars($_GET['e'], ENT_QUOTES);
   $verif = htmlspecialchars($_GET['v'], ENT_QUOTES);
 
  $nombremail = mysql_result(mysql_query("SELECT COUNT(*) FROM membres WHERE mail = '".$mail."' AND verif ='".$verif."'"), 0);
 
   if ($nombremail!= 0)
   {
 
       // Le code ici...
 
   }
   else
   {
        echo '<h3><span style=\'color:red\'>ERREUR : Votre adresse e-mail n\'existe pas dans la table ou le code de vérification est faux.</span></h3><br />';
   }
}
else
{
        echo 'Le lien qui vous a été fourni est périmé.<br />':
}
?>



Maintenant, exactement de la même manière que tout à l'heure, on va générer un "mot" aléatoire qui servira cette fois de mot de passe et non de "vérification".
Je commence par créer un array avec l'alphabet, j'initialise la fonction php "aléatoire", je crée mes dix variables, et je concatène le tout dans une seule. Rien de neuf :

Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php 
if((isset($_GET['e'])) && (isset($_GET['v'])) && (!(empty($_GET['e']))) && (!(empty($_GET['v']))))
{
 
   $mail = htmlspecialchars($_GET['e'], ENT_QUOTES);
   $verif = htmlspecialchars($_GET['v'], ENT_QUOTES);
 
  $nombremail = mysql_result(mysql_query("SELECT COUNT(*) FROM membres WHERE mail = '".$mail."' AND verif ='".$verif."'"), 0);
 
   if ($nombremail!= 0)
   {
 
       $tablettre = array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"); 
 
        mt_srand((float) microtime()*10000);
 
        $a = mt_rand(0, 9);
        $b = mt_rand(0, 9);
        $c = mt_rand(0, 9);
        $d = mt_rand(0, 9);
        $e = mt_rand(0, 9);
 
        $f = mt_rand(0, 26);
        $g = mt_rand(0, 26);
        $h = mt_rand(0, 26);
        $i = mt_rand(0, 26);
        $j = mt_rand(0, 26);
 
        $nouveaumdp = $a.$tablettre[$f].$b.$tablettre[$g].$c.$tablettre[$h].$d.$tablettre[$i].$e.$tablettre[$j];
 
       ...
 
   }
   else
   {
        echo '<h3><span style=\'color:red\'>ERREUR : Votre adresse e-mail n\'existe pas dans la table ou le code de vérification est faux.</span></h3><br />';
   }
}
else
{
        echo 'Le lien qui vous a été fourni est périmé.<br />':
}
?>


Maintenant j'insère le message du succès, et je continue :

Code : PHP
1
2
3
<?php
echo 'Votre compte comportant  l\'adresse e-mail '.$mail.' vient de subir une redéfinition de mot de passe.<br />Un e-mail comportant votre nouveau mot de passe vous a été envoyé. Veuillez consulter votre boîte mail, des explications vous seront fournies.';
?>


Je crée la variable $message qui sera envoyée plus bas dans la fonction mail. Ce message contiendra un petit texte d'indication, ainsi que le nouveau mot de passe généré à peine plus haut :

Code : PHP
1
2
3
<?php
$message = '<h5>Bonjour '.$pseudomembre.' !<br>Ce mail contient votre nouveau mot de passe. Veuillez vous connecter sur <a href="http://www.votre-site.com/">Votre site</a> avec ce nouveau mot de passe.<br /><br />Votre nouveau mot de passe est : '.$nouveaumdp.'</h5><br><br><br><h6>Ce mail a été envoyé automatiquement, veuillez ne pas y répondre.<br>';
?>


On remplit les normes d'affichage pour le mail dans les différentes variables, et on envoie le tout par mail :

Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<?php
$message = '<html><head></head><body>' . $message . '</body></html>';
                                        
$sujet = 'webmaster de irislbp.free.fr : Votre mot de passe';
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: vous@votre-site.com'; 
                                        
mail($mail, $sujet, $message, $headers);
?>


Et on n'oublie pas de mettre à jour le champ mdp de la table après avoir crypté $nouveaumdp via la fonction md5(). On met aussi le champ verif à "0" pour éviter les ambiguïtés par la suite, au cas où un autre membre fait la même démarche que le premier et se voit attribuer un "mot" de vérification identique à celui déjà généré plus tôt ! (Ça limite encore plus les probabilités d'égalité.)

Code : PHP
1
2
3
4
<?php
$passcrypt=md5($nouveaumdp);
mysql_query('UPDATE membres SET mdp="' . $passcrypt . '", verif="0" WHERE mail="' . $mail .'"') OR DIE (mysql_error());
?>


Voilà ! C'est terminé! Ça nous donne quelque chose comme ceci :

verif_mdp.php



Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php 
if((isset($_GET['e'])) && (isset($_GET['v'])) && (!(empty($_GET['e']))) && (!(empty($_GET['v']))))
{
 
   $mail = htmlspecialchars($_GET['e'], ENT_QUOTES);
   $verif = htmlspecialchars($_GET['v'], ENT_QUOTES);
 
  $nombremail = mysql_result(mysql_query("SELECT COUNT(*) FROM membres WHERE mail = '".$mail."' AND verif ='".$verif."'"), 0);
 
   if ($nombremail!= 0)
   {
 
       $tablettre = array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"); 
 
        mt_srand((float) microtime()*10000);
 
        $a = mt_rand(0, 9);
        $b = mt_rand(0, 9);
        $c = mt_rand(0, 9);
        $d = mt_rand(0, 9);
        $e = mt_rand(0, 9);
 
        $f = mt_rand(0, 26);
        $g = mt_rand(0, 26);
        $h = mt_rand(0, 26);
        $i = mt_rand(0, 26);
        $j = mt_rand(0, 26);
 
        $nouveaumdp = $a.$tablettre[$f].$b.$tablettre[$g].$c.$tablettre[$h].$d.$tablettre[$i].$e.$tablettre[$j];
 
       echo 'Votre compte comportant  l\'adresse e-mail '.$mail.' vient de subir une redéfinition de mot de passe.<br />Un e-mail comportant votre nouveau mot de passe vous a été envoyé. Veuillez consulter votre boîte mail, des explications vous seront fournies.';
                                        
                                        
        $message = '<h5>Bonjour '.$pseudomembre.' !<br>Ce mail contient votre nouveau mot de passe. Veuillez vous connecter sur <a href="http://irislbp.free.fr/">Irislbp</a> avec ce nouveau mot de passe. Il vous sera bientôt possible de le modifier.<br /><br />Votre nouveau mot de passe est : '.$nouveaumdp.'</h5><br><br><br><h6>Ce mail a été envoyé automatiquement, veuillez ne pas y répondre.<br>';
 
        $message = '<html><head></head><body>' . $message . '</body></html>';
                                        
        $sujet = 'webmaster de irislbp.free.fr : Votre mot de passe';
        $headers  = 'MIME-Version: 1.0' . "\r\n";
        $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
        $headers .= 'From: vous@votre-site.com'; 
                                        
        mail($mail, $sujet, $message, $headers);
                                        
        $passcrypt=md5($nouveaumdp);
        mysql_query('UPDATE membres SET mdp="' . $passcrypt . '", verif="0" WHERE mail="' . $mail .'"') OR DIE (mysql_error());
 
   }
   else
   {
        echo '<h3><span style=\'color:red\'>ERREUR : Votre adresse email n\'existe pas dans la table ou le code de vérification est faux.</span></h3><br />';
   }
}
else
{
        echo 'Le lien qui vous a été fourni est périmé.<br />':
}
?>

Voilà ! Ainsi s'achève ce tutoriel !
J'espère qu'il vous a plu et qu'il vous sera bénéfique.
Tous les codes sont testés et mêmes utilisés (par moi-même).

Quelques modifications possibles



Le système aléatoire que j'utilise n'est pas le summum de la technologie informatique de ce jour. Elle est simple et efficace. Cela dit, il en existe sûrement d'autres. N'hésitez pas à les utiliser pour renforcer la sécurité de votre site web !

Dans les deux mails, vous pouvez ajouter le pseudo du membre en question, les images caractéristiques de votre site, une meilleure mise en page... Bref, le choix est large.


Voilà et à bientôt sur le Site du Zér0 ! ;)
Auteur : cyril5789
Noter et commenter ce tutoriel
Imprimer ce tutoriel

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | Fil RSS | XHTML 1.0 | CSS 2.0
Édité par Simple IT SARL : Nous contacter | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 369 Zéros connectés | Requêtes SQL 7 requêtes | Temps de génération de la page : Total (SQL) 0.0287s (0.0119s)