|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : août 2006 Messages : 9 ![]() |
Bonjour.
J'ai créé un site où les membres doivent s'identifier pour accéder à certaines fonctions. Les utilisateurs sont stockés dans une table mysql sous forme de pseudonyme + mot de passe crypté md5. Lorsque l'utilisateur s'identifie, apres vérification du mot de passe, deux variables de SESSION sont posées : - une variable disant "utilisateur_connecte" - une variable avec le pseudo de l'utilisateur. Je voudrais rajouter un bouton "Souvenez vous de moi", tel sur le formulaire d'identification de ce forum, pour que l'utilisateur n'ait pas à taper ses identifiants à chaque fois. Mon site n'est pas "sensible", mais n'ayant pas de connaissance dans le domaine sécurité, je ne voudrais quand meme pas laisser une grosse faille. Je suppose que la mémorisation se fait dans un cookie dans lequel on met le pseudo de l'utilisateur, et son mot de passe crypté en md5 ? Merci d'avance pour vos conseils. |
|
|
00
|
|
|
#2 |
|
Futur Membre du Club
![]() Inscription : avril 2006 Messages : 38 ![]() |
Mettre un mot de passe, même crypté, dans un cookie, est selon moi une erreur. Je sais bien que certains forum pratiquent cette méthode, mais ça reste une faille selon moi. En effet, vu que beaucoup d'utilisateurs utilisent le même mot de passe sur plusieurs site web, il suffit de récupérer cette chaine cryptée pour ensuite pouvoir s'y connecter...
Une solution serait de générer une clé aléatoire (et donc non liée au mot de passe), que tu pourrais sauvegarder à la fois dans ta table membres, et dans un cookie... A la connexion, tu vérifies la concordance des données. Le principe reste donc le même, mais reste selon moi plus sécurisé (dans la mesure ou cette clé est différente selon les sites web). |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : juillet 2005 Messages : 10 ![]() |
Merci pour cet avis.
|
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Développeur Web Inscription : septembre 2006 Messages : 215 ![]() |
Salut
l'utilisation de cookie est une bonne methode, il suffit juste qu' a des moments aléatoire, dans ton site, tu redemandes a l'utilisateur son mot de passe, cette pratique est utilisé par beaucoup de site web ...google, ebay, paypal, yahoo... ensuite au moment tu cryptages de ton mot de passe dans le cookie, tu peux le couplé avec une "clef privé". (nécessaire pour un minimun de sécurité) ca rend le cookie utilisable seulement sur ton site. sahid |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Inscription : février 2005 Messages : 1 791 ![]() |
Salut,
en tout cas évite de faire ca pour les admins. Le fait de redemander le mot de passe ne sert à rien à mon avis, ici le problème c'est le vol de cookie (spoofing, XSS, etc) |
|
|
00
|
|
|
#6 | |
|
Membre confirmé
![]() Développeur Web Inscription : septembre 2006 Messages : 215 ![]() |
Citation:
|
|
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() Inscription : février 2005 Messages : 1 791 ![]() |
Que tu le cryptes ou non il me semble que le principe est le même, tu fais ta comparaison des 2 md5 (celui du client et celui de la BDD), donc si tu récupères un cookie avec un mdp même crypté, t'es censé pouvoir l'utiliser, et à aucun moment t'as besoin de le décrypter, par exemple sur un forum :
1er cas, t'envoies le pass en clair : - md5(passClairClient) == passCryptéBDD 2e cas, en crypté : - passCryptéClient == passCryptéBDD Si un autre membre du forum récupère le cookie, dans le 1er comme dans le 2e il suffit qui remplace les valeurs de son propre cookie par celle qu'il a récupérées. Dites-moi si je me trompe ^^ Paypal and compagnie, ils transitent les données en HTPPS donc le risque de vols de cookie/session est bien moindre. En fait, si, le fait de redemander le mot de passe je pense que ca peut servir mais uniquement si tu regèneres une nouvelle clé privée, comme tu disais. |
|
|
00
|
|
|
#8 |
|
Membre confirmé
![]() Développeur Web Inscription : septembre 2006 Messages : 215 ![]() |
si tu cherches à recuperer le cookie d'un utilisateur par une faille xss, je vois pas en quoi https va tant empecher ?
ensuite tu te trompes une des raisons pour laquelle dans des sites comme google ou ebay ... on redemande le mot de passe dans une zone sencible, c pour eviter le vol de cookie. |
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() Inscription : février 2005 Messages : 1 791 ![]() |
1) Je pense pas que tu puisses récupérer un cookie de zone htpps avec JS, sinon c'est grave (au pire tu pourras pas l'utiliser sans la clé).
2) c'est justement parce qu'ils utilisent https qu'il y a un intérêt à redemander le mot de passe (sniffing). |
|
|
00
|
|
|
#10 |
|
Invité(e)
Messages : n/a ![]() |
C'est possible d'avoir une explication pour faire apparaitre cette fameuse case a cocher ?^^
Ca me serait bien pratique, lourd de s'en cesse s'authentifier |
00
|
|
|
#11 |
|
Membre Expert
![]() Inscription : février 2005 Messages : 1 791 ![]() |
Salut,
quel est le point particulier qui te pose problème ? Le principe c'est de créer un cookie avec setcookie() quand tu as authentifié l'utilisateur. Pour tester l'existence d'un cookie il suffit de faire if(isset($_COOKIE['nom_cookie'])) donc sur ta page tu peux faire : if(isset($_COOKIE['nom_cookie'])) { echo '<input type="text" name="log" value="'.$_COOKIE['nom_cookie'].'">'; } Tu peux également faire un cookie pour le login et un autre pour le mot de passe ce qui acrroît un peu la sécurité (couplé à la dite clé aléatoire ca peut commencer à être pas mal). Bye |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com