IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Sécurité] Sessions PHP d'une fenetre à une autre


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2005
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 1
    Points : 2
    Points
    2
    Par défaut [Sécurité] Sessions PHP d'une fenetre à une autre
    Bonjour,

    J'utilise les sessions PHP sur un site pour identifier un utilisateur avec son login qui est enregistré dans une variable de session.

    Mais j'ai un probleme...

    Quand j'ouvre une autre fenêtre du navigateur et que je m'identifie avec un autre login utilisateur, dans la première fenetre la variable de session prend la valeur de celle de la deuxième.

    Comment puis je m'en sortir ? Je voudrais que chaque fenetre de navigateur garde ses propres valeurs de variable de session sans interférer avec les autres variable des autres fenetre.

    Merci !

  2. #2
    Membre averti
    Avatar de Strab
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    338
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 338
    Points : 330
    Points
    330
    Par défaut
    Une session est un numéro stocké sur ton ordi grâce aux cookies. Quand tu te connectes au serveur, il lit ton cookie et regardes s'il a un numéro de session correspondant à celui lu.
    Les variables de session sont des données stockées sur le serveur et liées à ce numéro de session.

    Autrement dit, une session est liée à l'ordinateur et non à la fenêtre de l'explorateur. En fait, tu peux même changer de navigateur ou de déconnecter un court instant et te reconnecter, ta session sera toujours valable.

    Donc à moins d'un stratagème particulier (et probablement douteux) ce que tu demandes est impossible.


    Tu peux t'en sortir en gérant toi même les cookies. Tu associes un cookie différent à chaque fenêtre, puis tu les utilises pour stocker les données (attention à la sécurité) ou récupérer les bonnes valeurs dans les variables de session. Mais il faut pour cela que tu puisses identifier les fenêtres, autrement dit que ce soit ton code javascript qui ouvre les différentes fenêtres, et non l'utilisateur qui se connecte au site depuis une autre fenêtre.

    J'espère ne pas t'avoir trop découragé...

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2004
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 306
    Points : 122
    Points
    122
    Par défaut
    Salut,

    tu n'es pas obligé d'utiliser le cookie. Tu peux utiliser le numéro de session SID. Dans ce cas, c'est un fichier qui est stocké sur le serveur. Tu peux ensuite de cette manière réaliser ce que tu souhaites. Pour paramètrer cela, tu dois modifier une des variables dans php.ini

    ++

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Points : 1 639
    Points
    1 639
    Par défaut
    Citation Envoyé par Strab
    Autrement dit, une session est liée à l'ordinateur et non à la fenêtre de l'explorateur. En fait, tu peux même changer de navigateur ou de déconnecter un court instant et te reconnecter, ta session sera toujours valable.
    Je crois qu'il y a erreur. Une session est affectée à un navigateur. Elle est supprimée après une durée d'inactivité trop grande, ou si tu fermes proprement ton navigateur.
    De plus, 2 navigateurs = 2 sessions, même sur le même ordi, et même en même temps... J'ai testé mon espace membre ainsi : je pouvais être connecté en même temps sur FireFox, Opéra et IE. Et si je me déconnectais de l'un (ce qui détruit la session), les autres restaient connectés, avec le même login. Ca m'a obligé à rajouter une table des membres connectés pour interdire une double connexion...

  5. #5
    Membre averti
    Avatar de Strab
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    338
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 338
    Points : 330
    Points
    330
    Par défaut
    au temps pour moi, on m'a dupé

    Je vais revoir mes sources et me renseigner, merci pour l'info

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [débutant C#] - passer d'une fenetre à l'autre
    Par RobinNono dans le forum Windows Forms
    Réponses: 6
    Dernier message: 15/05/2007, 18h57
  2. Interface graphique (passage d'une fenetre à une autre)
    Par developpeur82 dans le forum Interfaces Graphiques
    Réponses: 7
    Dernier message: 07/05/2007, 18h57
  3. Réponses: 3
    Dernier message: 07/01/2007, 17h45
  4. Réponses: 8
    Dernier message: 13/07/2006, 11h04
  5. basculer d'une fenetre à une autre
    Par chamamo dans le forum C++Builder
    Réponses: 1
    Dernier message: 25/06/2006, 08h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo