[PHP] Cookies
Résolu
Erdnax
Messages postés
2273
Date d'inscription
Statut
Contributeur
Dernière intervention
-
Erdnax Messages postés 2273 Date d'inscription Statut Contributeur Dernière intervention -
Erdnax Messages postés 2273 Date d'inscription Statut Contributeur Dernière intervention -
Hello à tous,
Voilà, je suis en train de créer une section membre pour mon site, en php. J'aimerais, lorsque mon visiteur se logg, qu'un cookie soit généré afin de reconnaître sur les pages suivantes que l'utilisateur est connecté, et son statut.
Ma question est de savoir, car tout ce que j'ai lu sur le web m'a plus embrouillé qu'autre chose, si la sécurité n'est pas trop laxiste avec ce système. Je crée en fait deux cookies, un avec le pseudo de l'utilisateur, et un autre avec son statut, de manière a pouvoir différencier les admins des membres.
Donc est-ce qu'il y a un (gros) risque (car il y a toujours un risque ;) ) que les cookies puissent être violés ? Un cryptage est-il nécessaire ?
Merci pour vos réponses.
@+
Voilà, je suis en train de créer une section membre pour mon site, en php. J'aimerais, lorsque mon visiteur se logg, qu'un cookie soit généré afin de reconnaître sur les pages suivantes que l'utilisateur est connecté, et son statut.
Ma question est de savoir, car tout ce que j'ai lu sur le web m'a plus embrouillé qu'autre chose, si la sécurité n'est pas trop laxiste avec ce système. Je crée en fait deux cookies, un avec le pseudo de l'utilisateur, et un autre avec son statut, de manière a pouvoir différencier les admins des membres.
Donc est-ce qu'il y a un (gros) risque (car il y a toujours un risque ;) ) que les cookies puissent être violés ? Un cryptage est-il nécessaire ?
Merci pour vos réponses.
@+
A voir également:
- [PHP] Cookies
- Supprimer les cookies - Guide
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- La cause de ce problème peut être la désactivation ou le refus des cookies. ✓ - Forum PHP
- Cookies manager - Télécharger - Confidentialité
1 réponse
Je pense que ca dépend quel sécurité tu veux. Je m'explique :
Tu dois savoir qu'un cookie est stocké sur le poste client sous forme de fichier texte, sans aucun cryptage. Donc sur des systèmes basiques comme windows 98 ou même XP avec un formatage en FAT32 (pas de droits d'accès sur les répertoires), n'importe qui peut y avoir accès. Et si tu regardes le contenu du cookie, oui, c'est tout marqué en clair !
Et typiquement, c'est ULTRA SIMPLE de changer la valeur de ta variable "admin?" de non à oui !
Donc penche toi vers du cryptage/dévryptage (donc pas de MD5 !), en effet !
A moins que quelqu'un d'autre ait une solution...
http://www.securiteinfo.com/conseils/cookies.shtml
Tu dois savoir qu'un cookie est stocké sur le poste client sous forme de fichier texte, sans aucun cryptage. Donc sur des systèmes basiques comme windows 98 ou même XP avec un formatage en FAT32 (pas de droits d'accès sur les répertoires), n'importe qui peut y avoir accès. Et si tu regardes le contenu du cookie, oui, c'est tout marqué en clair !
Et typiquement, c'est ULTRA SIMPLE de changer la valeur de ta variable "admin?" de non à oui !
Donc penche toi vers du cryptage/dévryptage (donc pas de MD5 !), en effet !
A moins que quelqu'un d'autre ait une solution...
http://www.securiteinfo.com/conseils/cookies.shtml
En fait, j'ai décidié entre temps de laisser tomber le statut par cookies, une petite requête mysql et hop, plus sûr, et peut-être un poil plus lent, mais c'est pas un gros site.
Sinon, maintenant j'ai un autre problème, j'ai regardé un peu comment étaient fait les cookies de ccm, et j'ai vu que ce n'est pas l'identifiant qui est inséré (lui aussi trop facile à modifier...), mais l'id de session. Alors je suppose qu'il y a une table temporaire ou sont stockés tous les id des sessions en cours sur ccm, et qu'à chaque fois un script va vérifier si la session à bien été enregistrée ?
Est-ce que quelqu'un pourrait m'en dire un peu plus sur le fonctionnement des sessions sous ccm ?
J'ai lu ça :
http://www.commentcamarche.net/php/phpcookie.php3
et deux ou trois autres articles de ccm et d'ailleurs, mais rien ne vaut une "vraie" explication du fonctionnement. Alors si quelqu'un y arrive, ou si quelqu'un à une idée ;) Merci
Sinon, pour les sessions de CCM, je pense savoir comment elles fonctionnent, car j'ai déja intervenu sur une application qui utilisait ce système, et il est vrai que ca peut servir à pleins de choses :
En fait, tu crées toi-même ton identifiant de session (un md5(rand()) et hop !), que tu stockes ET dans ta table SESSIONS ET dans ton cookie. Ainsi, tu retrouves les données dans la base de données. Problème : n'importe qui peut prendre le cookie d'un autre, et qui sait ce que ca peut donner ? A moins que tu fasses un test sur l'IP du client, mais même, point de vue de la sécurité, c'est pas génial...
Enfin de toutes facons, pour une sécurité optimum, tu ne peux que demander un identif et un mdp a chaque fois. C'est pour ca que je te demandais comment, dans quelle mesure tu comptais mettre en place ta sécu ?
Ca, je peux le faire, il n'y a pas de problème (c'est déjà plus ou moins en place en fait), mais j'aimerais bien pouvoir faire en sorte que le visiteur reste connecté même lorsqu'il quitte le site, durant une certaine période (en l'occurence 12h).
Donc mon problème est la sécurité avec les cookies, je ne vois pas trop comment faire en sorte que le visiteur ne puisse pas se faire voler sa session (ou même la traffiquer en fait).
Et tu mets une date d'expiration POUR ton cookie (pas dedans ! Quand tu le crées !), et DANS ta BDD (pour ne pas que l'utilisateur puisse le modifier, et que tu puisses faire un test pour vérifier que ca ne fait pas encore 12h qu'il s'est déloggué)
Après, je te laisse réflechir pour l'utilisation optimale : n'oublie pas de mettre a jour la date de derniere connexion (dans la BDD, ca va de soi) de l'utilisateur dans chaque page.
Ca va aller ? :-P