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 :

Cookie pour garder session connectée


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 407
    Points : 104
    Points
    104
    Par défaut Cookie pour garder session connectée
    Bonjour,

    Je souhaiterais utiliser les cookies sur mon site pour garder la session utilisateur connecté.
    J'ai donc ajouté une case à cocher, avec comme variable $_SESSION['keeplogin']="oui" si elle est cochée.

    L'action de cette case à cocher, pour envoyer ou non le cookie au moment de la connexion :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if(isset($_SESSION['keeplogin']))
    {
    	if($_SESSION['keeplogin']=="oui" ){
    		setcookie('pseudo',$_SESSION['logname'], time() + (3600*24*365));
    	}
    	if($_SESSION['keeplogin']=="non" ){
    		setcookie('pseudo','', time() - (3600*24*365)); 
    	}
    }
    Par contre, est-ce que seulement un cookie avec le pseudo suffira ? ou je dois egalement envoyer le mot de passe de connexion (en md5 ?) ?

    Pour la reconnexion, je suis un peu perdu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
      session_start();
      if (isset($_COOKIE['pseudo']) && isset($_SESSION['keeplogin']) && @$_SESSION['auth'] != "no")
      {
    	$_SESSION['logname'] = $_COOKIE['pseudo'];
            $_SESSION['keeplogin'] = "oui";
         	header("Location: Login.php");
         	exit();
      }
    Merci pour votre aide. Mikael

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 051
    Points : 1 638
    Points
    1 638
    Par défaut
    Je ne te conseille pas de garder le mot de passe en cookie, surtout en MD5 qui n'est plus la méthode ultra sécurisée (utilise le sha + salt).

    Personnellement je stocke l'ID du membre et un GUID unique (sur plusieurs digits). Ainsi si un malin modifie l'ID, lorsque tu récupères la valeur de ton cookie, tu vérifie que l'ID correspond bien au GUID en BDD). Le GUID étant sur plusieurs caractères, aucune chance qu'il le modifie correctement.

    Si tu veux te simplifier la vie, tu peux stocker un tableau dans ton cookies pour simplifier la lecture.
    Règle N° 1 : Si tout va bien, ne touchez à rien.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 407
    Points : 104
    Points
    104
    Par défaut
    Merci pour ta réponse.

    Dans mon cas, je pourrai utiliser comme GUID la cle d'activation du compte qui est stockée dans ma BDD (ex. f26836a70bb23322e03d863dfb2e99f4)

    ça reviendrait au même, et sécuriserait autant ?

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 051
    Points : 1 638
    Points
    1 638
    Par défaut
    Citation Envoyé par mikael2235 Voir le message
    Merci pour ta réponse.

    Dans mon cas, je pourrai utiliser comme GUID la cle d'activation du compte qui est stockée dans ma BDD (ex. f26836a70bb23322e03d863dfb2e99f4)

    ça reviendrait au même, et sécuriserait autant ?
    oui voilà c'est ce à quoi je pensais

    Le principal étant d'avoir l'ID du membre ainsi qu'une clé qui le caractèrise. Car la modification d'un ID dans un cookie est possible donc le hack de pseudo serait trop simple. Alors qu'avec une clé unique rattaché à un pseudo, aucune chance qu'il modifie correctement son GUID.

    S'il y arrive, c'est qu'il y a surement d'autres soucis à se faire (il a réussi à accéder à ta BDD peut-être pour lire cette clé)
    Règle N° 1 : Si tout va bien, ne touchez à rien.

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

Discussions similaires

  1. [Data] Problème pour garder la session hibernate ouverte
    Par tiben78 dans le forum Spring
    Réponses: 1
    Dernier message: 05/05/2010, 09h58
  2. Récupérer les informations d'un cookie pour la session
    Par jayfaze dans le forum Plateformes (Java EE, Jakarta EE, Spring) et Serveurs
    Réponses: 0
    Dernier message: 13/12/2009, 19h06
  3. [Cookies] Alternative aux cookies pour les sessions ?
    Par anthonycosson dans le forum Langage
    Réponses: 4
    Dernier message: 18/09/2007, 11h58
  4. [Cookies] Sessions/Cookies pour domaine+Sous domaine
    Par Vinzius dans le forum Langage
    Réponses: 1
    Dernier message: 27/07/2007, 11h50
  5. Réponses: 5
    Dernier message: 22/03/2006, 14h54

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