Le but du cookie est de stocker l'identifiant de session et de le masquer dans l'url, pas de stocker toutes les informations sensibles concernant l'utilisateur, bien entendu. Ici l'expression forum_cookie du forum fluxbb / punbb correspond aux cookies côté serveur, non pas client, sur le client le cookie contient uniquement un identifiant de session unique.
si tu fais un truc comme ca dans les fichiers tu peux toujours editer le cookie mais ca servira a rien if (!isset ($_COOKIE['id du membre code']) or $_COOKIE['id du membre code'] != $pass_user) { echo"vous n'etes pas le bon utilisateur de ce compte.....bye bye votre ip est gardée en mémoire"} else if{acces au compte}
Sachant qu'un cookie est éditable je vois pas trop où c'est le top :s
Je préfère tout stocké coté serveur comme ca l'utilisateur n'y a pas accès...
J'ai connu des sites qui stockaient en clair le status (membre, admin, modo) de l utilisateur dans un cookie... Ok la c'est un autre soucis mais par principe j'évite les cookies.
Ok c'est plus clair merci, mais j'pense utiliser la solution que j'ai brièvement expliqué plus haut. J'évite d'utiliser les cookies pour des raisons de sécurité mais je garde tout ca dans un coin d'ma tête
voila à quoi correspond le cookie de fluxbb Name forum_cookie Value a%3A2%3A%7Bi%3A0%3Bs%3A1%3A%222%22%3Bi%3A1%3Bs%3A32%3A%226659b3a000885eebc864a41832a3bfce%22%3B%7D
la bdd Champ Type Interclassement Attributs Null Défaut user_id int(10) UNSIGNED Non 1 ident varchar(200) latin1_swedish_ci Non logged int(10) UNSIGNED Non 0 idle tinyint(1) Non 0
la plus part du temps, je prends exemple sur le forums, on se sert des cookies, qui récupèrent l'ip, la mettent des une bdd avec le timestamp. après, à chaque action sur le forum (post, changement de page, etc...) renvoit dans la bdd le nouveau timestamp et ainsi de suite. si le cookie est configuré pour X secondes et qu'il n'est pas remis à jour dans la bdd suite à une action, il y a deconnexion et l'ip du membre est retirée de la bdd. cela permet d'afficher le membre. en meme temps que l'ip et le timestamp, est inséré aussi l'id du membre qui elle ne change pas. a partir de cette id, on interroge la bdd user pour afficher le login. le cookie est composé de l'id du membre.
le fait de creer une bdd speciale users connectes est un avantage, cela permet aussi d'afficher le nb de visiteurs non inscrits sur le site et de connaitre l'ip de facon a voir le provider et le pays par la suite.
infobarquee> Ce que je souhaite c'est que les autres membres puissent voir qui est en ligne. Je ne crois pas qu'un cookie puisse m'aider ici, à moins d'avoir mal comprit ce que tu veux que j'en fasse.
Sinon j'ai une autre méthode plus basique, dans mon header je place une fonction qui ajoute en base le timestamp actuel dans la fiche du membre et quand j'ai besoin de savoir si un tel est connecté, je regarde le timestamp de ce membre dans la base et je compare avec celui de l'instant présent. Si la défférence est superieur à 500 (à définir) le membre sera considéré comme déconnecté.
Par contre je sais pas si ca ne va pas surcharger les accèes à la base pour pas grand chose
Et bien vu que le protocole HTTP fonctionne en mode 'déconnecté' (comprendre: 1 requete = 1 connexion qui se ferme après réception de la réponse), il n'y a pas de vraie bonne méthode pour voir qui est connecté. Ta solution avec les sessions se rapproche de la solution idéale malgré tout, le seul problème étant que tu doives implémenter un 'timeout': si la personne n'a pas mis à jour sa session depuis X minutes alors, on assume qu'il n'est plus connecté. Pour arriver au plus proche de la réalité, tu pourrais écrire un code en Ajax qui ferait une requête toutes les 10 secondes. Comme ca tu sais que si la personne n'a pas fait de requête depuis plus de 10 secondes, alors elle n'est plus connectée à ton site.
Coucou alors j'ai un petit soucis au niveau de mon algorithme voilà ce que je voudrais:
Récupérer la liste des gens connectés à mon site. J'ai fait un truc basique: -quand un utilisateur se connecte, je passe la variable 'connecté' à 1 dans la table de l'utilisateur -quand il clique sur deconnecté je la repasse à 0
Le soucis c'est que ca marche très moyennement... Si l'utilisateur ferme son navigateur (ferme la session) ou détruit le cookie du sessid bah il est pas connecté mais dans la base de donnée il l'est toujours...
C'est quoi la bonne méthode pour voir qui est connecté?