[PHP] Cookies

Résolu/Fermé
Erdnax
Messages postés
2273
Date d'inscription
mercredi 1 octobre 2003
Statut
Contributeur
Dernière intervention
1 octobre 2007
- 14 sept. 2005 à 15:20
Erdnax
Messages postés
2273
Date d'inscription
mercredi 1 octobre 2003
Statut
Contributeur
Dernière intervention
1 octobre 2007
- 14 sept. 2005 à 17:29
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.

@+

1 réponse

StreM
Messages postés
515
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
28 février 2007
123
14 sept. 2005 à 15:29
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
1
Erdnax
Messages postés
2273
Date d'inscription
mercredi 1 octobre 2003
Statut
Contributeur
Dernière intervention
1 octobre 2007
496
14 sept. 2005 à 15:37
Je pensais bien que tu interviendrais ;)

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
0
StreM
Messages postés
515
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
28 février 2007
123 > Erdnax
Messages postés
2273
Date d'inscription
mercredi 1 octobre 2003
Statut
Contributeur
Dernière intervention
1 octobre 2007

14 sept. 2005 à 15:45
Héhééé... je pensais bien que tu pensais que j'interviendrais ;))

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 ?

0
Erdnax
Messages postés
2273
Date d'inscription
mercredi 1 octobre 2003
Statut
Contributeur
Dernière intervention
1 octobre 2007
496 > StreM
Messages postés
515
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
28 février 2007

14 sept. 2005 à 16:09
P.S. je t'aiderai bien sur ton javascript, mais bof, j'm'y connais moi que toi. Sympa ton truc, même si c'est pas encore 100% au point, ça promet ;)
0
StreM
Messages postés
515
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
28 février 2007
123 > Erdnax
Messages postés
2273
Date d'inscription
mercredi 1 octobre 2003
Statut
Contributeur
Dernière intervention
1 octobre 2007

14 sept. 2005 à 16:17
Merci !
J'ai le meme pour rogner les photos, et un autre pour les faire rotationner, négatif, etc... Bref, un photoshop online !
Mais j'aimerais bien que ca tourne pas que sous IE...
Merci quand meme !
0
Erdnax
Messages postés
2273
Date d'inscription
mercredi 1 octobre 2003
Statut
Contributeur
Dernière intervention
1 octobre 2007
496 > Erdnax
Messages postés
2273
Date d'inscription
mercredi 1 octobre 2003
Statut
Contributeur
Dernière intervention
1 octobre 2007

14 sept. 2005 à 15:52
Donc en fait, le plus simple, c'est de démarrer une session si le mot de passe et le compte d'utilisateurs sont juste, toutes les infos sont retirées à partir de la base de données (statut, droits, etc), sont stockés dans la session, et à chaque fois que le visiteur quitte le site, il doit se reconnecter.

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).
0