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

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    juin 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : juin 2011
    Messages : 23
    Points : 21
    Points
    21

    Par défaut Cookie sécurisé secure httponly

    Bonjour,

    Je suis entrain de faire le tutoriel espace utilisateur en php et je souhaite que le cookie de la case à cocher soit en secure et httponly alors je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setcookie('remember', $user->id . '==' . $remember_token . sha1($user->id . 'tba'), time() + 60 * 60 * 24 * 7, null, null, true, true);
    Mais ça ne marche pas sachant que l'espace que je loue chez ovh est en https et que si je fais comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setcookie('remember', $user->id . '==' . $remember_token . sha1($user->id . 'tba'), time() + 60 * 60 * 24 * 7);
    Le cookie fonctionne bien mais il n'est pas en secure ni en httponly. Quelqu'un a une idée ?

    Je vous remecie de votre aide.

  2. #2
    Expert confirmé Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    juin 2010
    Messages
    2 632
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : juin 2010
    Messages : 2 632
    Points : 5 509
    Points
    5 509

    Par défaut

    Bonsoir,
    il est possible que les valeurs null que tu passes soient converties d’une manière inattendue, et que ça ait une influence côté client. Je ne suis pas certain, mais ça ne coûte pas grand chose de vérifier.

    Côté serveur, tu peux utiliser headers_list pour vérifier l’allure des en-têtes Set-Cookie envoyés.
    Côté client, tu peux examiner les cookies via les panneaux « réseau » et « stockage » de la console F12.
    La FAQ JavaScript – Les cours JavaScript
    Un article du MDN n’a pas de version française ? Je peux peut-être le traduire, envoyez-moi un MP

    La touche F12 : l’outil indispensable à tout développeur JavaScript !

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    juin 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : juin 2011
    Messages : 23
    Points : 21
    Points
    21

    Par défaut Cookie sécurisé secure httponly

    Alors je précise le chemin et le domaine, mais dans la console je n'ai toujours rien:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setcookie('remember', $user->id . '==' . $remember_token . sha1($user->id . 'tba'), time() + 60 * 60 * 24 * 7, '/', 'www.lcab.eu', true, true);
    Et si je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump(headers_list());
    ça ne donne pas grand chose.

  4. #4
    Expert confirmé Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    juin 2010
    Messages
    2 632
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : juin 2010
    Messages : 2 632
    Points : 5 509
    Points
    5 509

    Par défaut

    Citation Envoyé par TBA_78 Voir le message
    Alors je précise le chemin et le domaine, mais dans la console je n'ai toujours rien:
    Désolé pour mon mauvais conseil, je viens de vérifier, l’onglet « stockage » ne montre pas les cookies httpOnly. Quelque part, c’est logique. En revanche, tu peux les voir avec l’onglet « réseau ». Pour ça il faut avoir l’onglet déjà ouvert et rafraîchir la page ; tu verras une ou plusieurs lignes apparaître, correspondant aux requêtes faites par le navigateur (souvent il fait une requête de favicon en plus de la page). La première ligne correspond à la requête de la page, quand tu cliques dessus tu peux accéder aux détails, et là tu peux voir les cookies.

    Citation Envoyé par TBA_78 Voir le message
    ça ne donne pas grand chose.
    C’est-à-dire ?
    Quand j’essaye de mon côté, j’ai ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    array (size=4)
      0 => string 'X-Powered-By: PHP/7.2.4' (length=23)
      1 => string 'Content-type: text/html; charset=utf-8' (length=38)
      2 => string 'Set-Cookie: secure=machin; expires=Tue, 04-Dec-2018 12:09:56 GMT; Max-Age=604800; path=/; domain=localhost; secure; HttpOnly' (length=124)
      3 => string 'Set-Cookie: unsecure=truc' (length=25)
    La FAQ JavaScript – Les cours JavaScript
    Un article du MDN n’a pas de version française ? Je peux peut-être le traduire, envoyez-moi un MP

    La touche F12 : l’outil indispensable à tout développeur JavaScript !

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    juin 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : juin 2011
    Messages : 23
    Points : 21
    Points
    21

    Par défaut Cookie sécurisé secure httponly

    Je viens de réessayer mais en vain et en faisant var_dump(headers_list()); je vois bien ma session mais pas mon cookie de cette façon:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setcookie('remember', $user->id . '==' . $remember_token . sha1($user->id . 'tba'), time() + 60 * 60 * 24 * 7, '/', 'localhost', true, true);
    par contre de cette façon, mon cookie se crée bien:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setcookie('remember', $user->id . '==' . $remember_token . sha1($user->id . 'tba'), time() + 60 * 60 * 24 * 7);
    je le vois bien en faisant F12/Cookies dans l'onglet Application.

  6. #6
    Membre éclairé Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    juin 2011
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : juin 2011
    Messages : 458
    Points : 838
    Points
    838

    Par défaut

    Salut,
    D'après la documentation
    secure
    Indique si le cookie doit uniquement être transmis à travers une connexion sécurisée HTTPS depuis le client. Lorsqu'il est positionné à TRUE, le cookie ne sera envoyé que si la connexion est sécurisée.
    Donc il faudrait mettre à false l'avant-dernier paramètre.
    Le bienfait n'est jamais perdu

  7. #7
    Expert confirmé Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    juin 2010
    Messages
    2 632
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : juin 2010
    Messages : 2 632
    Points : 5 509
    Points
    5 509

    Par défaut

    Citation Envoyé par TBA_78 Voir le message
    sachant que l'espace que je loue chez ovh est en https et que si je fais comme ça:
    […]
    Le cookie fonctionne bien mais il n'est pas en secure ni en httponly.
    Je vais peut-être enfoncer des portes ouvertes, mais l’idée m’a traversé l’esprit : il pourrait y avoir les deux cookies, celui qui est httpOnly et celui qui ne l’est pas. Ils peuvent avoir le même nom, la même valeur, etc. Si l’un est httpOnly et l’autre pas, ça fait bel et bien deux cookies différents, et suivant l’outil que tu utilises pour les voir, tu pourrais voir seulement celui qui n’est pas httpOnly.
    La FAQ JavaScript – Les cours JavaScript
    Un article du MDN n’a pas de version française ? Je peux peut-être le traduire, envoyez-moi un MP

    La touche F12 : l’outil indispensable à tout développeur JavaScript !

Discussions similaires

  1. Cookie sécurisé pour eviter le "phishing"
    Par Gamergeo dans le forum Sécurité
    Réponses: 3
    Dernier message: 09/08/2012, 17h25
  2. Réponses: 2
    Dernier message: 01/09/2010, 10h36
  3. [Cookies] Système de session rapide et sécurisé
    Par Jukien dans le forum Sessions
    Réponses: 13
    Dernier message: 30/11/2006, 14h40
  4. [Cookies] Cookie Sécurisé
    Par Gamleur84 dans le forum Sessions
    Réponses: 2
    Dernier message: 09/02/2006, 10h25
  5. [Cookies] Sécurisé mes Cookie
    Par Gamleur84 dans le forum Sessions
    Réponses: 4
    Dernier message: 18/11/2005, 18h19

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