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 :

[Sécurité] mot de passe cryptée?


Sujet :

Langage PHP

  1. #1
    Membre éclairé Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Par défaut [Sécurité] mot de passe cryptée?
    Salut,
    j'ai installé un script d'inscription sur mon site et le mot de passe des utilisateurs sont cryptées dans ma BDD.
    comment faire pour éviter que les mot de passe soit cryptée?


    Merci

  2. #2
    Membre émérite Avatar de nako
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2003
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2003
    Messages : 577
    Par défaut Re: mot de passe cryptée?
    Citation Envoyé par kevinf
    comment faire pour éviter que les mot de passe soit cryptée?
    Trouver la fonction de cryptage dans ton code PHP et l'enlever.
    En général, la fonction md5 est beaucoup utilisée pour ça.
    Sinon, juste pour info, pourquoi ne veux-tu pas que les mots de passe soient cryptés en base ? C'est pas vraiment génant, c'est même plus sécurisé, et ça permet à l'administrateur du site de ne pas avoir accès aux mots de passe des gens.
    a+

  3. #3
    Membre éclairé Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Par défaut
    c'est vré je suis dacord, sauf quand l'utilisateur demande le renvoi de son mot de passe via la page oubli de mot de passe, mon script (tro con!) lui renvoi le mot de passe cryptée, donc tu pige mon soucy?

  4. #4
    Membre émérite Avatar de nako
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2003
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2003
    Messages : 577
    Par défaut
    Oui, je pige tout à fait.
    En général, dans ce cas, on regénère un mot de passe temporaire, qui permettra à l'utilisateur de se logguer, puis de rechanger son mot de passe.
    Enfin, si toute cette mécanique ne te convient pas, tu peux en effet stocker les mots de passe en clair.
    a+

  5. #5
    Membre éclairé Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Par défaut
    en fet, mon script fourni automatiquement un mot de passe au membre, voici le code php de l'inscritpion:
    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
    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
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    <?php
     
    include("../includes/config.inc.php");
     
    if($action == "verif")
    {
     
    $login = $HTTP_POST_VARS["login"];
    $email = $HTTP_POST_VARS["email"]; 
     
    $login = strip_tags($login);
    $email = strip_tags($email);
     
    if (empty($login) || empty($email))
    {
    	echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0; URL = ?msg=Les+champs+sont+obligatoires+!\">";
    	exit;
    }
     
    if (strlen($login) < 5)
    {
    	echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0; URL = ?msg=L'identifiant+doit+comporter+au+minimum+5+caractères+!\">";
    	exit;
    }
     
     
    if (strrpos($login,' ') > 0)
    {
    	echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0; URL = ?msg=Aucun+espace+dans+l'identifiant+!\">";
    	exit;	
    }
     
    if(!ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'.'@'.'[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'.'[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$', $email))
    {
    	echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0; URL = ?msg=Adresse+email+invalide+!\">";
    	exit;
    }
     
     
    $db = mysql_connect($sql_host,$sql_user,$sql_pass); 
    mysql_select_db($sql_bdd,$db); 
     
    $requete = mysql_db_query($sql_bdd,"SELECT * FROM $tb_membres WHERE User_Login='$login'",$db) or die(mysql_error());
    $num     = mysql_num_rows($requete);
     
    if($num!=0)
    {
    	echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0; URL = ?msg=Cet+identifiant+est+déjà+pris+!\">";
    	exit;
    }
     
    $requetem = mysql_db_query($sql_bdd,"SELECT * FROM $tb_membres WHERE email='$email'",$db) or die(mysql_error());
    $numm = mysql_num_rows($requetem);
     
    if($numm!=0)
    {
    	echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0; URL = ?msg=Cette+adresse+email+est+déjà+enregistrée+!\">";
    	exit;
    }
     
    else
    {
    	$taille  = 8;
    	$lettres = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    	srand(time());
    	for ($i=0;$i<$taille;$i++)
    	{
    		$User_Pwd.=substr($lettres,(rand()%(strlen($lettres))),1);
    	}
     
    	$date = date("d/m/Y");
     
    	$sql = "INSERT INTO $tb_membres (id, User_Login, User_Pwd, email, sexe, age, ville, description, url, avatar, date, active) VALUES ('', '$login', '".md5($User_Pwd)."', '$email', '$sexe', '$age', '$ville', '$description', '$url', '$avatar', '$date', '1')";
    	mysql_query ($sql);
     
     
    	$sendto  = "$email";
    	$subject = " Votre Compte Personnel sur $nom_site";
    	$body    = "Bonjour !\n\nVous venez d'ouvrir un compte sur $nom_site ($url_site) !\nAfin de pouvoir vous connectez sur votre compte personnel, voici vos identifiants de connexion :\n\nLogin    :  $login\nPassword :  $User_Pwd\n\n\nPensez à changer votre password régulièrement depuis votre compte pour des raisons de sécurité !\n\n\n____________________________________________________________________________________________\n\nCECI EST UN EMAIL AUTOMATIQUE ! NE REPONDEZ PAS ! AUCUNE REPONSE NE VOUS SERA RETOURNEE !\n\n____________________________________________________________________________________________\nTS Secure CS Version 4.0";
        $from    = "$ad_email";
     
    	mail($sendto,$subject,$body,$from);
     
    	if($email_script == "yes")
    	{
    		mail("$ad_email"," Un membre vient de s'inscrire","Bonjour !\n\nAujourd'hui, un nouveau membre vient de d'ouvrir un compte sur votre site !\n\nSon pseudo est : $User_Login\n\nRetrouvez toutes ces informations en vous connectant sur votre compte personnel.\n\nA bientôt !\n____________________________________________________________________________________________\n\nCECI EST UN EMAIL AUTOMATIQUE ! NE REPONDEZ PAS ! AUCUNE REPONSE NE VOUS SERA RETOURNEE !\n\n____________________________________________________________________________________________\nTS Secure CS Version 4.0","$ad_email");
    	}
     
    	echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0; URL = index.php?msg=Un+email+contenant+vos+identifiants+vient+de+vous+être+envoyé+!\">";
    	}
     
    mysql_close($db);
     
    }
     
    ?>
     
    [url][/url]

  6. #6
    Membre émérite Avatar de nako
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2003
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2003
    Messages : 577
    Par défaut
    Salut, pourrais-tu repréciser dans quelle direction tu veux aller ?
    1) mots de passe en clair
    2) garder les passes cryptés et résoudre le problème de perte de mot de passe ?

    Dans le cas du 1, la portion de code d'insertion en base où tu cryptes ton mot de passe est celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql = "INSERT INTO $tb_membres (id, User_Login, User_Pwd, email, sexe, age, ville, description, url, avatar, date, active) VALUES ('', '$login', '".md5($User_Pwd)."', '$email', '$sexe', '$age', '$ville', '$description', '$url', '$avatar', '$date', '1')"; 
       mysql_query ($sql);
    fonction md5.

    A+

  7. #7
    Membre éclairé Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Par défaut
    je dois enlever quoi là dedans?

  8. #8
    Membre émérite Avatar de nako
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2003
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2003
    Messages : 577
    Par défaut
    Citation Envoyé par kevinf
    je dois enlever quoi là dedans?
    S'il te plaît ? Merci ? De rien ?
    Alors tu remplaces
    par
    A+

  9. #9
    Membre éclairé Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Par défaut
    sa marche!

    merci bien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Sécurité] Mot de passes cryptés..
    Par Winder dans le forum Langage
    Réponses: 3
    Dernier message: 22/06/2007, 08h10
  2. petit problème de mot de passe crypté PASSWORD()
    Par bris dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 09/02/2007, 16h01
  3. [Sécurité] Renvoyer un mot de passe crypté
    Par psychoBob dans le forum Langage
    Réponses: 6
    Dernier message: 23/04/2006, 00h43
  4. [FireFox / Sécurité] Mots de passe en clair
    Par arcane dans le forum Applications
    Réponses: 6
    Dernier message: 28/12/2004, 17h28
  5. Réponses: 4
    Dernier message: 29/11/2004, 22h53

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