progrima
Messages postés125Date d'inscriptionlundi 1 novembre 2004StatutMembreDernière intervention 4 janvier 2006
-
12 déc. 2005 à 23:11
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015
-
13 déc. 2005 à 14:15
Bonsoir tout le mode.
J'essaye de faire de l'authentification avec php et mysql.
Selon certains articles sur le sujet, j'ai lu que pour sécuriser l'accés aux mots de passe, il faut les crypter. Pour cela, il faudera quand un nouvel utilisateur veut s'inscrire, il choisit son login et son mot de passe, et si c'est ok alors le login sera chiffré via le md5 et sera stoqué sous une forme crypter. quand le user aura besoin de se connecter, il va saisir son mot de passe alors mon programme va crypter ce mot de passe et va le comparer avec celui stocké dans ma base.
Le problème c'est quand un user demande à récupérer son mot de passe(mot de passe oublié), il sera impossible de le faire puisque le md5 est à sens unique, on pourra pas le récupérer.
Alors comment faire ?
est ce que c'est ça le principe ou je me suis trompé quelque part?
J_G
Messages postés1406Date d'inscriptionmercredi 17 août 2005StatutMembreDernière intervention28 août 200710 12 déc. 2005 à 23:53
Salut,
Tu te trompe sur toute la ligne...
La CNIL (dont tu devrais connaitre le nom, sinon ton site est illegal)
oblige au respect de la vie privé des internautes. Donc tu ne dois pas
connaitre leur mot de passe, même si tu es l'administrateur du Site.
Voilà pourquoi tu dois les concerver sous un format haché (md5).
Mais... Entre le client et ton serveur, il est codé le mot de passe ?
tic...tac...tic...tac...
Non ! Donc cela n'a pas grand chose à voir avec la sécurité.
Peu de sites respectent les obligations de la CNIL, pas même ce site (oublié votre mot de passe ? boum, il te le donne se fou)
La bonne procédure est :
oublié votre mot de passe ?
=> vérification de l'identité par un autre moyen
=> création d'un nouveau mot de passe
=> affichage en clair à l'écrant
=> stockage en md5 dans la base !
Point à la ligne !!!
Pour une réelle sécurisation de l'entré de ton site, tu dois utiliser
une SSL (Secured Socket Layer, soit le protocole https://) Mais c'est
trop souvent payant !
Alors, comme je sens que tu n'as pas prévenu la CNIL de l'existance
d'informations personnelles sur ton site... Tu peux laisser tomber le
md5
WhiteDwarf
Messages postés510Date d'inscriptionsamedi 29 décembre 2001StatutMembreDernière intervention23 mai 2008 13 déc. 2005 à 00:51
Je suis d'accord avec toi J_G, mais petit conseil comme ca pour
progrima
, afficher le mot de passe à l'écran pourquoi pas (quoique, si il y a qqun derrière qui regarde, c pas top), mais surtout il faut l'envoyer par mail c'est mieux. D'ailleur ca te permet comme ca aussi de vérifier que c'est le bon utilisateur puisque tu envoie le pass sur le mail qu'il à donné à l'origine.
----------------------
La lumière étant plus rapide que le son, un homme peu paraître brillant avant qu'il se mette a parler
-----------------
J_G
Messages postés1406Date d'inscriptionmercredi 17 août 2005StatutMembreDernière intervention28 août 200710 13 déc. 2005 à 13:22
Par ailleurs, je ne comprends pas trop cette histoire de stocker les
mot de passe en md5 pour les cacher de la vue de l'administrateur...
Moi, j'ai accés à la base de données du site développé.
Bon, je ne peux pas lire le mot de passe... Super !
Je peux le modifier, je peux lire le nom de la personne, le dernier
message envoyé sur le site, son numéro de téléphone, ses goûts, ...
Je fais quoi avec ces données je peux pas les hachés... vu quelles doivent être lisible...
Et puis, je fais des base de données RELATIONNELLES. Donc l'identifiant
de l'utilisateur, je le crypt avec une clef hachée en md5 ? C'est ça ?
Sûr que là, heu... les requètes dans ma base seront bien optimisés.
Bref, je trouve que c'est un peu de la poudre aux yeux ce md5 sur le
mot de passe. Mais, certainement parceque quelque chose m'échappe.
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 13 déc. 2005 à 13:29
"Bref, je trouve que c'est un peu de la poudre aux yeux ce md5 sur le
mot de passe. Mais, certainement parceque quelque chose m'échappe."
Tu peux utiliser md5 avec javascript par exemple sur un formulaire, donc tu peux pré-hasher un mot de passe avant son envoi sur le serveur.
Donc même avec un sniffer, tu ne pourras pas lire le mot de passe étant donné qu'il est pré-hashé.
Et pour vérifier ca en php ? Tester la longueur ==> si === 32, alors 'normalement', c'est un mot de passe hashé.
Reste plus qu'à le vérifier avec un preg_match [a-f0-9] et zoup !
Mais c'est vrai qu'un admin peut tout voir... c'est comme ca, c'est la vie :o
J_G
Messages postés1406Date d'inscriptionmercredi 17 août 2005StatutMembreDernière intervention28 août 200710 13 déc. 2005 à 13:52
FhX => j'ai effectivement déjà vu des fonction "patch" recréant le hachage md5 coté client (en JS).
Mais là encore, je n'ai pas compris le sens de ce hachage pour la sécurité...
Comment un pirate fait-il pour capter un mot de passe ?
Il écoute une connexion, chope les données au vol les parses et en sort le mot de passe.
Bon, que tu envoye le mot de passe en clair ou en haché, c'est pareil !
Il écoute, trouve une chaine de caractère de 32 caractères Hexa qui
ressemble fort à un mot de passe. Bon bah il peut réutiliser cette
chaine et l'envoyer lui aussi. Comment saura-tu différencier la bonne
séquence hachée de l'usurpatrice?
Peut-être que pour bien faire avec ce codes md5, il faut :
* hacher aussi le nom des variables, avec par exemple l'IP afin de retomber sur ces pattes coté serveur
* Mélanger l'ordre des données envoyées (pas toujours le mot de passe en deuxième
* et pour finir, parasiter les données en y incrustant des leures dans
tous les sens (données inutiles) afin que le pirate ne puisse lire
(password=4eg6f4ez6ds54gg64g86sg4f)
C'est faisable... on peut imaginer encore plus de complexité... Mais à mon avis, jamais totalement sûr.
L'intéret de SSL est que toutes les données sont cryptées ensemble.
Donc le mec peut toujours écouter la connexion. Mais accroche toi pour
en parser le contenu.
La meilleure solution reste de sécuriser au maximum coté serveur,
filtrer les requètes SQL et les fichiers uploader, s'offrir un
hébergement avec sauvegardes journalières, toujours contrôler qui fait
quoi avant de le faire... et croiser les doigts.
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 13 déc. 2005 à 14:15
Je crois que seul le réel avantage de md5 concernant l'accès aux données c'est plutot au cas où un hacker réussirait à accéder à la bdd... mais à ce moment là y a d'autre soucis à se faire... après comme l'a dit J_G concernant les admin... la confidentialité... lOoo°ooOl... .. . ;o)