IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Votre avis sur mes codes


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 110
    Points : 71
    Points
    71
    Par défaut Votre avis sur mes codes
    Bonsoir,
    je veux renvoyer un mot aléatoire au membre qui oublie son mot de passe.
    Pour cela j'ai deux scripts que voici:
    1/ script qui crée le mot de passe aléatoire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
        function Genere_Password($size)
        {
    				// Initialisation des caractères utilisables
    $characters = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, "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");
            for($i=0;$i<$size;$i++)
    		{
    			//$password = NULL;
    			$password .= ($i%2) ? strtoupper($characters[array_rand($characters)]) : $characters[array_rand($characters)];
    		}
            return $password;
        }
     
     ?>
    2/ script qui traite et envoie le mot de passe par mail
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <?php
    	session_start();
    	$titre="Espace Communautaire  ..::.. Mot de passe Perdu ..::..";
    	include("fonction_mp.php");
     
    	echo '<h1>Recupération de mot de passe !</h1>';
     
    	$email = $_POST['email'];	// Je déclare la variable ici
    	$membre_mdp = Genere_Password(12); // nouveau mot de passe générer aléatoirement 
    	if (!isset($_POST['email'])) //On est dans la page de traitement
    	{
    			//Vérification du mail
    		$existe=$db->prepare('SELECT COUNT(*) AS nbr FROM forum_membres WHERE membre_email =:email');
    		$existe->bindValue(':email',$email, PDO::PARAM_STR);
    		$existe->execute();
    		$email_free=($existe->fetchColumn()!=1)?1:0;
    		$existe->CloseCursor();
    		if(!$email_free)
    		{
    			echo 'Votre adresse email ne se trouve pas dans notre base de donnée !';
    		}	
    		else
    		{
    			$mp->fetch($existe);
    			$bmp=$db->prepare("UPDATE membre_mdp FROM forum_membres WHERE email = '".$email."'");
    			$smp->fetch($retour);
    			$mp->CloseCursor();
    		}		
    	}
    	$headers  = 'MIME-Version: 1.0' . "\r\n";
    	$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
    	$objet = 'votre mot de passe, est' .$membre_mdp .'merci de le noter.';
     
    	if(!mail($mp['email'], $objet, $headers))
    	echo 'probleme lors de l\'envoi du mail';
    	else 
    	echo 'Votre mot de passe vient de partir ' ;
    ?>
    Merci de m'aider à corriger mes imperfections. particulièrement au niveau du code qui ecrase et renvoi le mot de passe.

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Pour générer ton mot de passe, va voir cette fonction :
    http://fr2.php.net/manual/fr/function.uniqid.php

  3. #3
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    pas d'accord pour uniqid() seule, parce que son résultat et vraiment trop prévisible parce que ça ressemble vraiment à un compteur. Quel est l'interêt d'un mot de passe qu'on peut deviner?

    Si tu veux faire un mot de passe sympa je te conseille plutot d'utiliser un mot de passe prononçable composé une ou plusieurs sequences "consonne voyelle consonne" avec de la ponctiation ou des chiffres en tête au milieu ou en fin.

    même si ça réduit le nombre de mot de passe possible, tu simplifies la vie de ton utilisateur.

Discussions similaires

  1. MAX_CONNECTIONS: votre avis sur ce code
    Par Zartan dans le forum Administration
    Réponses: 2
    Dernier message: 31/01/2010, 04h34
  2. Votre avis sur mes relations
    Par momo_gea dans le forum Modélisation
    Réponses: 21
    Dernier message: 29/05/2007, 08h36
  3. [FFT] Votre avis sur mon code
    Par deubelte dans le forum C++
    Réponses: 1
    Dernier message: 10/02/2007, 20h14
  4. Votre avis sur mes index
    Par grinder59 dans le forum Requêtes
    Réponses: 1
    Dernier message: 30/08/2006, 10h56
  5. [Code Prof]votre avis sur un code?
    Par granquet dans le forum Réseau
    Réponses: 6
    Dernier message: 11/04/2006, 20h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo