[PHP] Cookies [Résolu/Fermé]

Signaler
Messages postés
2273
Date d'inscription
mercredi 1 octobre 2003
Statut
Contributeur
Dernière intervention
1 octobre 2007
-
Messages postés
2273
Date d'inscription
mercredi 1 octobre 2003
Statut
Contributeur
Dernière intervention
1 octobre 2007
-
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

Messages postés
515
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
28 février 2007
122
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63550 internautes nous ont dit merci ce mois-ci

Messages postés
2273
Date d'inscription
mercredi 1 octobre 2003
Statut
Contributeur
Dernière intervention
1 octobre 2007
489 >
Messages postés
2273
Date d'inscription
mercredi 1 octobre 2003
Statut
Contributeur
Dernière intervention
1 octobre 2007

Alors j'ai compris le principe, au détail près (et c'est pas le plus petit lol) du test des 12h, ce qui est souligné. Le now() est la date et l'heure de maintenant, on est d'accord ?

Je comprends pas pourquoi si l'heure actuelle est plus petite que la date de dernière connexion, alors que cette dernière est actualisée juste avant...

Et bon, si t'as du code php pour expliquer, on parlera plus le même langage lol. (Mais tu t'en doute, écris le pas s'il est pas déjà existant.)

Sinon, ce que j'ai écrit plus haut pourrait fonctionner ? Parce que ça, j'ai compris :P
Messages postés
515
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
28 février 2007
122 >
Messages postés
2273
Date d'inscription
mercredi 1 octobre 2003
Statut
Contributeur
Dernière intervention
1 octobre 2007

Désolé, j'ai vu passer ca, mais j'en ai plus, de code...

Pour le inférieur, faut mettre des parenthèses :si now() est inferieur a (la date de derniere connexion + 12H)
Et oui, now() est le timestamp de ... maintenant ;)

Sinon, pour ton idée, oui ca peut tout à fait marcher, mais il y a 2 inconvénients majeurs : récupérer le cookie à chaque page, c'est lourd ! Tu n'as besoin de le récupérer qu'une seule fois si tu passes ton id de session en paramètre, ou si tu l'inscris dans une session PHP(t'emmele pas les pinceaux!). Enfin, dans ton cas, la cookie n'est pas bien gros, mais bon, pense a la bande passante, ca fait discuter 2 machines. Alors qu'un parametre en GET, non. Bref, ca peut marcher.

L'autre inconvénient, c'est que tu prends la date de connexion au tout début. Donc si ton utilisateur reste sur ton site 2H, il n'aura pas 12H de sursis, mais 10H.
M'enfin, je dis MAJEURS, mais tout est relatif !
Messages postés
2273
Date d'inscription
mercredi 1 octobre 2003
Statut
Contributeur
Dernière intervention
1 octobre 2007
489 >
Messages postés
2273
Date d'inscription
mercredi 1 octobre 2003
Statut
Contributeur
Dernière intervention
1 octobre 2007

AAAAAAAAAHHHHHHHHHH

Ben avec les paranthèse, ça va bien mieux lol !

Sinon, tu t'embrouilles sur l'explication de la lourdeur si je récupère le cookie sur chaque page, mais j'ai tout compris, sisi !

Et sinon, pour les 10 ou 12 heures, bof, ça m'est égal, c'est totalement aléatoire, c'est juste histoire que le cookie ne reste pas trop longtemps, mais le temps exact n'est pas très important, donc ce n'est pas un inconvénient.

Donc je crois que je vais prendre "ma" méthode, avec une seule récupération du cookie.

Le seul truc, c'est pour enlever les id de sessions terminées dans la base de donnée. Si t'as une dernière idée pour ça ;)
Messages postés
515
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
28 février 2007
122 >
Messages postés
2273
Date d'inscription
mercredi 1 octobre 2003
Statut
Contributeur
Dernière intervention
1 octobre 2007

Pardon, il est le soir, j'ai travaillé toute la journée, je commence a fatiguer, j'arrive plus a m'expliquer... :-P
Pour nettoyer un peu la BDD des sessions je pense que je ferais une fonction qui parcourt la base a la recherche des "last_time_connect" qui datent de plus de 12H.

Je déduis de ton post que tu utiliseras bien des tables liées ?
genre une table qui ne contient QUE l'id de session et l'id du user, et une autre table qui contient les users ?
Si c'est ca, c'est bien, j'avais oublié de le préciser. Tu verras que ca peut être drôlement utile !

Bon courage en tout cas ! Je te laisserais te dépatouiller, tu apprendras beaucoup avec un script comme ca ! Mais réflechis bien à tout, c'est pas évident de se lancer la dedans, mine de rien !
Messages postés
2273
Date d'inscription
mercredi 1 octobre 2003
Statut
Contributeur
Dernière intervention
1 octobre 2007
489 >
Messages postés
2273
Date d'inscription
mercredi 1 octobre 2003
Statut
Contributeur
Dernière intervention
1 octobre 2007

Je sais, merci pour tout, mais je n'ai averti personne de ce projet. (Bien que les visiteurs ne soient pas encore foule). J'ai donc tout le temps qu'il me faut pour développer, tester, etc.

Donc encore merci, et bonne soirée, repose toi bien ;)

:P@+