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 :

[Cookies] conflit cookie et sessions


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Par défaut [Cookies] conflit cookie et sessions
    Bonjour voici un code qui semble fonctionner désormais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $expire = 60*60*24*30;  // on définit la durée du cookie, 1 mois
    setcookie("cashoclic[affilie]",$username,time()+$expire);
    setcookie("cashoclic[idpub]",$idpub,time()+$expire);
    setcookie("cashoclic[info]",$info,time()+$expire);
    if(session_id() == ""){
    	session_start();
    }
    $_SESSION['affilie']=$username;
    $_SESSION['idpubinscrip']=$idpub;
    $_SESSION['info']=$info;
    Dans ce cas, le cookie est bien rempli et la session aussi
    Avant j'avais un code différent car je faisais au début un session_start()
    et je remplissais les variables de sessions et après seulement je remplissais le cookie et pour certaines personnes celà ne fonctionnait pas tout était vide cookie et session.
    Est-ce que vous avez une idée de la raison pour laquelle le nouveau code fonctionne ?
    Les sessions peuvent poser un problème de conflit peut être avec les cookies sachant que les sessions utilisent les cookies également.
    Merci

  2. #2
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Pour les variables enregistrées dans un cookie, on utilise le tableau superglobal $_COOKIE je crois, et non $_SESSION...

    Citation Envoyé par pas30
    Les sessions peuvent poser un problème de conflit peut être avec les cookies sachant que les sessions utilisent les cookies également.
    Merci
    Pas d'accord car les sessions ne sont pas obligées d'utiliser un cookie; Le SID peut être transmi directement dans l'url... Tu trouveras plus d'informations dans les paramètres des sessions du PHP.INI...

  3. #3
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Par défaut
    En fait tu n'as pas compris ce que je faisais dans mon code je crois
    Je remplis le cookie avec setcookie et après je fais un session_start() et je remplis la session grâce au tableau $_SESSION.
    Pour le SID justement je me pose une question très intéressante. Est-ce que l'on peut avoir accès à ce SID si je suis sur un autre site sachant que ce site appelle un script de mon serveur.
    Parce que en fait pour être clair je dois stocker des informations très importantes et j'utilise pour celà les cookies mais dans le cas ou les cookies seraient désactivés je voulais utiliser les sessions mais j'ai bien peur que leur mode de fonctionnement soit identique soit par les cookies donc si les cookies ne fonctionnent pas les sessions ne fonctionneront pas non plus. Il y a bien le SID mais on doit le passer dans l'url il me semble mais si on va sur un autre site internet appelant un script de mon serveur est-ce que mon script appelé pourra avoir accès à ce SID franchement je ne pense pas ...

  4. #4
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Citation Envoyé par pas30 Voir le message
    En fait tu n'as pas compris ce que je faisais dans mon code je crois
    Rassure toi, j'ai bien pigé! C'est plutot toi qui n'a pas bien compris mon message... Dans ton 1er post, tu dis :
    Citation Envoyé par pas30 Voir le message
    Avant j'avais un code différent car je faisais au début un session_start()
    et je remplissais les variables de sessions et après seulement je remplissais le cookie et pour certaines personnes celà ne fonctionnait pas tout était vide cookie et session.
    Et moi, je dis d'utiliser le tableau $_COOKIE pour accéder aux variables du cookie et $_SESSION pour accéder aux variables de session. Il ne faut pas tout mélanger.

  5. #5
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Par défaut
    En fait si tu regardes bien le code on peut comprendre que j'ai fait n'importe quoi mais non je remplis le cookie avec setcookie et je remplis la session juste après. Et je sais qu'il faut appeler $_COOKIE et $_SESSION respectivement pour les cookies et les sessions

  6. #6
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Citation Envoyé par pas30 Voir le message
    Parce que en fait pour être clair je dois stocker des informations très importantes et j'utilise pour celà les cookies mais dans le cas ou les cookies seraient désactivés je voulais utiliser les sessions...
    Niveau sécurité, il est très déconseillé de stocker des informations sensisbles dans un cookie. Pour bien faire, il faut les stocker en base de données et les lier avec un numéro d'identifiant. Dans le cookie, il ya juste ce numéro. Ainsi, si quelqu'un vole le cookie, il devra tout de même aller les chercher dans la base et s'identifier sur le serveur...

    Et concernant le problème de sécurité avec les fichiers de sessions, il faut lire cet article je crois :
    http://a-pellegrini.developpez.com/t...sion-securite/

    En fait, je pense que la solution consite a sécuriser au maximum le SID, avec un cookie pour l'identification et à protéger (voir encoder) les données dans une base... Aussi, tu peux toujours obliger l'utilisateur à activer les cookies pour son identification, en lui expliquant que c'est pour protéger ses données, c'est dans son intérêt.

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

Discussions similaires

  1. [Cookies] problème de comprehension-sessions
    Par fk04 dans le forum Langage
    Réponses: 3
    Dernier message: 06/06/2006, 21h09
  2. [Cookies] L'ID de session change à chaque fois ! :-(
    Par seb92500 dans le forum Langage
    Réponses: 3
    Dernier message: 20/04/2006, 12h38
  3. [Cookies] Problème avec les sessions PHP !!!
    Par boukay dans le forum Langage
    Réponses: 4
    Dernier message: 14/02/2006, 17h32
  4. detruire une cookie après fin de session
    Par MASSAKA dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 25/08/2005, 16h02

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