Cookies espace membre, best practice
Bonjour,
J'ai actuellement un espace membre avec des variables de sessions qui fonctionne bien.
J'aimerai rajouter la possiblité de mettre une coche "se souvenir de moi".
Je sais qu'il faut utiliser un cookies, je sais comment l'utiliser.
Ma question est plutot théorique, j'ai lu a plusieurs endroits que le cookies était pas super niveau sécurité etc. donc je me demandais quels étaient les "best practice" pour faire cela dans les règles de l'art. (Quoi stocker dans mon cookies, comment faire fonctionner mes cookies avec mes sessions existantes etc.)
Merci
Pour créer ton cookie, il faut que tu puisses reconnaitre l'utilisateur en se basant uniquement sur le contenu de ce cookie.
Il faut donc, que pour tes les membres de ton site, le contenu du cookie soit unique.
Plusieurs techniques pour faire cela :
0) dans tous les cas, quoi qu'il arrive, tu devras utiliser une donnée qui est différente pour tous tes membres (si tes membres ont tous un mail et si tu check bien que tu n'as pas de doublon d'adresse, tu peux utiliser cette donnée, sinon, l'identifiant utilisateur)
1) à l'inscription du membre, tu prends ta donnée, tu la concatenes avec un mot invariable, tu haches le tout (md5 ou sha1), et tu stockes ca en base, pour chaque utilisateur. Et tu mets aussi ce resultat dans le cookie. Quand la personne vient sur le site avec le cookie, tu cherches en base à quel utilisateur se rattache ce cookie, et si tu le trouves, tu logues la personne et tu start la session
2) tu prends ta donnée, que tu concatènes avec un mot invariable, et tu cryptes le tout en blowfish (ou un autre algo de cryptage) avec une clé de cryptage, et tu balances ca en cookie. Quand la personne vient sur le site avec le cookie, tu decryptes le contenu du cookie, donc la tu te retrouves avec la donnée du membre (mail ?) plus le mot invariable que tu dégages. Ensuite, tu regardes en base si cet utilisateur existe (mail)
1 - necessite de stocker un truc en base pour chaque membre mais est plus simple à mettre en place
2 - ne necessite pas de stocker un truc en base, vu que c'est reversible, mais faut utiliser des fct php peu courantes (fonctions de cryptage)
Merci LA GLOBULE, je vais aller en ce sens.
P.S. Commencer a numéroter à 0, c'est quand même sacrément geek ;-)
le 11/08/2010 à 08:54
bko
Bonjour,
je profite de ce topic pour poser une question concernant l'espace membre.
Les scripts sont très bien fait et m'ont permis de comprendre (un peu) le fonctionnement.
Par contre, lorsqu'on quitte le navigateur, on perd la connexion et il faut se reloguer à chaque fois. Un problème de cookie je suppose ?
Quelqu'un peut il m'indiquer la bonne marche à suivre et la code si possible ?
Merci d'avance !
Ben j'ai donné la solution plus haut.
le 11/08/2010 à 14:09
bko
OK merci, l'explication a le mérite d'être claire, après la mettre en code c'est une autre histoire !
Déjà ca me confirme qu'il faut bien utiliser les cookies.
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: