1 réponse
StreM
- Messages postés
- 515
- Date d'inscription
- lundi 18 octobre 2004
- Statut
- Membre
- Dernière intervention
- 28 février 2007
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
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
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 !
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 ;)
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 !
Donc encore merci, et bonne soirée, repose toi bien ;)
:P@+