Enregistrer des mots de pass securisés
Résolu/Fermé
A voir également:
- Enregistrer des mots de pass securisés
- Piratage facebook changer mot de passe - Guide
- Audacity enregistrer son pc - Guide
- Mots de passe enregistrés - Guide
- Enregistrer son ecran - Guide
- Mettre un mot de passe sur un dossier - Guide
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
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. »
https://www.php.net/manual/en/function.md5.php
« La recherche commence là où s'arrête la connaissance. »
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
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 :
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.
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.
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
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 :
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.
Utilisateur anonyme
3 juin 2011 à 00:52
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 ;)
et merci avion-f16 pour le jeton c'est trés interessant comme astuce.
bonne journée à vous les amis ;)