Session et authentification [PHP/MYSQL] - PHP - Programmation
Marsh Posté le 20-07-2004 à 11:41:19
si tu utilises les sessions php (avec session_start), t'as pas besoin de table de session
Marsh Posté le 20-07-2004 à 11:43:30
Oui mais justement (puisqu'apparement le session_id change a chaque reouverture du navigateur) je ne vais sans doute plus utiliser session_start...
Un forum tel que celui-ci, comment fait il ?
Marsh Posté le 20-07-2004 à 11:45:20
il n'utilise pas de session, mais un cookie pour tracer l'utilisateur
Marsh Posté le 20-07-2004 à 11:49:25
Haaa je me disais aussi
Mais alors : pourquoi parle t on tant des sessions que gère php ? uniquement dans le cas de "caddie" pour site marchand ?
Donc pour utiliser cette méthode :
- on regarde si un cookie comprenant quelques chose signifiant "vous etes identifié" est présent, si oui, on affiche la page,
sinon on regarde dans _POST pour y chercher mail et pass par exemple, le cas échéant on compare avec la table user et on écrit le cookie
- si rien de toute ça, on affiche le formulaire d'identification
Comme ceci ?
Marsh Posté le 20-07-2004 à 11:38:08
Salut, je voudrais savoir comment on fait courament pour authentifier et "suivre" les utilisateurs.
J'avais d'abord pensé à
- une table avec les utilisateurs : mail et password
- une table session avec : id session, pass, et mail et validité
Ensuite :
On commence la session avec session_start, on checke si une entrée de la table session corespond au session_id :
- si oui, on regarde si elle est encore valide, sinon on supprime. si tout est ok on affiche la page
- sinon, on regarde si il y a un (mail, pass) dans les _POST[], si oui, on tente d'authentifier en comparant avec la table user, si c'est ok, on fait un INSERT dans session et on affiche la page
- s'il n'y a rien, on affiche un formulaire et on fait un joli exit();
Seul problème : le session_id change si on ferme le navigateur...
donc je pense que je dois moi meme enregistrer un cookie... ?
Comment faites vous, et question subsidiaire: généralement quelle valeur donne t on a la validité ?
Merci