Problème de connexion/déconnexion d'utilisateurs (sessions)

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème de connexion/déconnexion d'utilisateurs (sessions)

Re: Problème de connexion/déconnexion d'utilisateurs (sessions)

par Skikit » 03 juin 2010, 12:21

Salut,

C'est normal, le mécanisme que tu as mis en place établit une sorte de synchronisation avec le navigateur.
Tu serais moins embêté en utilisant tes propres variables de session.

Problème de connexion/déconnexion d'utilisateurs (sessions)

par MrAzerty » 03 juin 2010, 11:55

Bonjour,

J'ai un problème avec la connexion/déconnexion d'utilisateurs.

Comme beaucoup d'autres sites, le mien fonctionne de la façon suivante:
Par défaut, l'utilisateur est non connecté, il accède à une version restreinte du site.
Il peut bien sûr se connecter, pour accéder au contenu correspondant à ses droits.
Il peut ensuite se déconnecter, pour accéder à nouveau à le version restreinte, et éventuellement se connecter avec un autre utilisateur.


Lorsqu'il se connecte, les fonction suivantes sont appelées:

Code : Tout sélectionner

if (!isset($_SERVER['PHP_AUTH_USER'])) { unset($this->IdUtilisateur); header('WWW-Authenticate: Basic'); header('HTTP/1.0 401 Unauthorized'); //echo 'Texte utilisé si le visiteur utilise le bouton d\'annulation'; exit; }

Lorsequ'il se déconnecte:

Code : Tout sélectionner

// Destruction de session $_SESSION = array(); // on efface le tableau unset($_SERVER['PHP_AUTH_USER']); session_destroy(); // on détruit le tableau réécrit

(Pour débugger, j'affiche en haut de ma page l'id de session (session_id())).

La connexion marche bien, la déconnexion semble bien marcher aussi.
Par contre, si je me reconnecte une seconde fois, la session créée lors de ma première connexion est réutilisée.
Je croyais pourtant l'avoir définitivement détruite lors de la déconnexion.

La session est bien détruite lorsque, sous Firefox, j'efface les "Connexions actives" (via Ctrl+Shift+Supr).

Quelqu'un peut-il m'aider à comprendre? Merci par avance.