Enregistrer des mots de pass securisés

Résolu/Fermé
Utilisateur anonyme - 2 juin 2011 à 23:34
 Utilisateur anonyme - 3 juin 2011 à 18:39
Bonjour,

comment enregistrer des mots de pass dans sa base de données de façon à être plus sécurisé dans le php/mysql,
supposant que le mot de pass est
$password=zrater;
est ce qu'on peut inserer le mot de pass ici et ce sera suffisant,
ou bien ajouter un traitement avant ?

merci d'avance

A voir également:

3 réponses

arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
Modifié par arthezius le 2/06/2011 à 23:37
Tu peux utiliser la fonction md5() de PHP.
https://www.php.net/manual/en/function.md5.php
« La recherche commence là où s'arrête la connaissance. »
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
2 juin 2011 à 23:46
Salut,

Tu peux aussi utiliser un algorithme de hashage (md5, sha1, etc).
Ça permet d'évaluer la somme d'une chaine.
Depuis cette somme, on ne peut pas récupérer la chaine d'origine.
C'est comme un cryptage à sens unique.
Lorsque l'utilisateur indiquera son mot de passe pour se connecter, il faudra hasher le mot de passe (dans $_POST) afin de le comparer avec le hash en base de données.

Le problème est que certaines techniques existent pour retrouver la chaine d'origine à partir du hash si le mot de passe n'est pas assez complexe.
Ça se fait grâce à une grosse base de données contenant des paires
(chaine <-> hash)

La solution est donc d'utiliser un jeton (une phrase par exemple) secrète.
Par exemple :
<?php
$phraseSecrete = '*************';
$motDePasse = 'agent007';

$hash = md5($phraseSecrete.$motDePasse);
?>


Mais si tu te fais pirater à la fois la base de données et les sources, cette protection devient inutile car il aura la phrase secrète. Mais il devra encore trouver le mot de passe.
Par contre, en cas d'erreur PHP/SQL, les mots de passe de tes membres ne s'afficheront pas en clair sur ton site.
0
Utilisateur anonyme
3 juin 2011 à 13:41
dernière question,
juste pour la phrase secrete je peux la mettre comme tu l'as fait dans mon code source y a pas de problème ?
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
3 juin 2011 à 18:07
Tu peux la mettre dans ton fichier de configuration, si tu en as un.
Si tu n'en as pas, il faut la mettre dans chaque fichier où tu souhaites l'utiliser.

Quand je dis "phrase secrète", ce n'est pas obligatoirement une phrase "Hey, salut, comment vas-tu ?" : tu peux utiliser quelque-chose qui ressemble à rien.

Pour générer ta phrase secrète, tu peux utiliser ceci :
<?php
echo uniqid(md5(time()));
PS: Tu ne dois pas regénérer cette phrase à chaque fois, je te donne ce code pour que tu génères ton jeton. Après, tu n'en as plus besoin et il faut utiliser ce jeton à la place des « * » de mon code précédent.
0
Utilisateur anonyme
3 juin 2011 à 18:39
je vous remercie infiniment c'est trés généreux de votre part ;-)
0
Utilisateur anonyme
3 juin 2011 à 00:52
je vous remercie arthezius et avion-f16, ça me parait plus logic comme ça.
et merci avion-f16 pour le jeton c'est trés interessant comme astuce.
bonne journée à vous les amis ;)
0