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 sécurisé secure httponly


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 203
    Points : 82
    Points
    82
    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 éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 093
    Points : 6 754
    Points
    6 754
    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
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 203
    Points : 82
    Points
    82
    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 éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 093
    Points : 6 754
    Points
    6 754
    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
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 203
    Points : 82
    Points
    82
    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 éprouvé Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    540
    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 : 540
    Points : 1 067
    Points
    1 067
    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 éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 093
    Points : 6 754
    Points
    6 754
    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
    Touche F12 = la console → l’outil indispensable pour développer en 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, 16h25
  2. Réponses: 2
    Dernier message: 01/09/2010, 09h36
  3. [Cookies] Système de session rapide et sécurisé
    Par Jukien dans le forum Langage
    Réponses: 13
    Dernier message: 30/11/2006, 13h40
  4. [Cookies] Cookie Sécurisé
    Par Gamleur84 dans le forum Langage
    Réponses: 2
    Dernier message: 09/02/2006, 09h25
  5. [Cookies] Sécurisé mes Cookie
    Par Gamleur84 dans le forum Langage
    Réponses: 4
    Dernier message: 18/11/2005, 17h19

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