Cookies "samesite" compliant : comment ?

Discussion dans 'Administration d'un site Web' créé par ortolojf, 9 Avril 2020.

  1. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    3 022
    J'aime reçus:
    12
    Bonjour

    Mon site a un trafic divisé par 4 depuis Février 2020.

    Je suis en https avec un certificat ssl LetEncrypt.

    Comment puis rendre mes cookies compliants avec le "samesite" de Google ?

    Merci beaucoup.

    Amicalement.
     
  2. rick38
    rick38 WRInaute passionné
    Inscrit:
    23 Février 2013
    Messages:
    1 467
    J'aime reçus:
    194
    Bah... il y a encore des courses ? ;)

    Il n'y a rien à faire de spécial, par défaut bientôt les navigateurs le considéreront automatiquement "SameSite=Lax" s'il n'est pas spécifié, ce qui est suffisant si le cookie n'est pas partagé sur d'autres sites.
     
  3. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    3 022
    J'aime reçus:
    12
    Bonjour rick38

    Je dois générer des sessions, avec un cookie de session.

    Suis-je obligé de lancer session_start() pour celà, ou comment simuler autrement une session ( par exemple en créant un cookie de session ) , sachant que les $_SESSION devraient ne pas varier à chaque changement de page ?

    Sous PHP 7.0 ( Debian 9 ), je peux utiliser les headers pour les cookies, donc mettre le SameSite à 'None'.

    Le paramètre $options de set_cookies_params($options) n'existe pas sous PHP < 7.3.

    Merci beaucoup de vos réponses.

    Amicalement.
     
  4. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 004
    J'aime reçus:
    284
  5. rick38
    rick38 WRInaute passionné
    Inscrit:
    23 Février 2013
    Messages:
    1 467
    J'aime reçus:
    194
    Une session nécessite bien session_start() et ça s'occupe de créer un cookie de session, où est le problème...
     
  6. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    3 022
    J'aime reçus:
    12
    Bonjour spout et rick38

    PHP 7.4 supporte-t-il tous les modules ( gd_php , php_pdo, etc... ) de PHP 7.0 ?

    Est-ce que PHP 7.4 supporte en natif le ini_set('session.cookie_samesite', true); ?

    Si oui, je pourrais le positionner avant de faire : session_name(SESSION_COOKIE) et session_start().

    Je ne sais pas réécrire le cookie de session COOKIE_SESSION après session_start(), après la session s'arrête, et le cookie de session disparaît.

    Merci beaucoup spout pour ton lien.

    Amicalement.
     
    #6 ortolojf, 10 Avril 2020
    Dernière édition: 10 Avril 2020
  7. rick38
    rick38 WRInaute passionné
    Inscrit:
    23 Février 2013
    Messages:
    1 467
    J'aime reçus:
    194
    Je suis passé à toutes les versions supérieures sans jamais de souci de module.

    En vieux PHP, <7.3, vous pouvez mettre l'option dans path:

    session_set_cookie_params([
    'lifetime' => $cookie_timeout,
    'path' => '/;SameSite=none',
    'domain' => $cookie_domain,
    'secure' => $session_secure,
    'httponly' => $cookie_httponly,
    'samesite' => 'Lax'
    ]);
     
  8. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    3 022
    J'aime reçus:
    12
    Bonjour rick38

    D'après le PHP Manual, la fonction session_set_cookie_params(), ne supporte le paramètre $options ( array ), qu'à partir de 7.3 ?

    Respectueusement.
     
  9. rick38
    rick38 WRInaute passionné
    Inscrit:
    23 Février 2013
    Messages:
    1 467
    J'aime reçus:
    194
    Je ne sais pas, personnellement je n'ai jamais utilisé cette fonction, car setcookie() permet de tout mettre quand je crée un cookie, par exemple :
    setcookie('cookie-name', '1', 0, '/; samesite=strict', '', true, true);

    Et je rappelle que lorsque samesite n'est pas précisé, il sera (plus tard), considéré comme strict par défaut, donc il n'y a pas à s'en préoccuper en fait.

    Si PHPSESSID vous préoccupe malgré tout, le plus simple est encore de passer à PHP >=7.3 pour que la fonction de paramètres fonctionne avec $options.
     
    #9 rick38, 11 Avril 2020
    Dernière édition: 11 Avril 2020
  10. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    3 022
    J'aime reçus:
    12
    Bonjour rick38

    Et pour un cookie de session ?

    Comment initialiser une session avec samesite= 'None' ( ou 'Strict' ) avec session_start() ?

    Autrement qu'avec set_session_cookie_params() ?

    Sinon, peut-on écraser un cookie d'une session active, avec setcookie() et samesite ?

    Merci beaucoup.
     
  11. rick38
    rick38 WRInaute passionné
    Inscrit:
    23 Février 2013
    Messages:
    1 467
    J'aime reçus:
    194
    Le cookie de session c'est le PHPSESSID dont je parlais, c'est ainsi que le nomme PHP.

    Franchement, passer à une version plus récente de PHP est le mieux à faire, d'autant que chaque version améliore les performances, etc.

    Sinon si votre site est sur un serveur dédié (je crois que c'est le cas ?), vous pouvez ajouter dans la conf d'Apache
    Header always edit Set-Cookie (.*) "$1; SameSite=Strict"

    Cela dit il est sûrement possible d'écraser le cookie comme vous dites (PHPSESSID donc), vous pouvez essayer et voir le résultat...
     
    #11 rick38, 11 Avril 2020
    Dernière édition: 11 Avril 2020
  12. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    3 022
    J'aime reçus:
    12
    Bonjour rick38

    Tu as raison : De toute manière, ma version Debian 9 est obsolète, je vais devoir prochainement migrer mon serveur VPS SSD.

    J'ai mis à l'instant mes deux cookies : SES ( de session ) et STAR_COOKIE en mode secure et HttpOnly.

    Tout est prêt pour prendre en compte le samesite( 'None' et secure ) après que le serveur ait migré.

    Je n'ai plus qu'adapter le Javascript de ma gestion de cookies.

    Super merci pour ton aide.

    Amicalement.
     
  13. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    3 022
    J'aime reçus:
    12
    Pardon

    J'ai mis le cookie de gestion de cookies ( CM_Cookie_consent ), avec secure et samesite='strict'.

    Il n'y plus qu'à attendre le changement de serveur.

    A votre avis, quel est le moyen le plus efficace pour sécuriser un serveur ssh ?

    Les clés c 'est fragile, il suffit que l'ordi soit un peu hacké.

    Merci beaucoup.
     
Chargement...
Similar Threads - Cookies samesite compliant Forum Date
Condition liée acceptation de cookies. Droit du web (juridique, fiscalité...) 4 Mai 2020
Preuve acceptation cookies. Développement d'un site Web ou d'une appli mobile 30 Avril 2020
Tuto sur les cookies GTM / Google Analytics Google Analytics 2 Mars 2020
PWA => GTM & gestion cookies ? Développement d'un site Web ou d'une appli mobile 20 Janvier 2020
Gestion de cookies problème directives CNIL. Administration d'un site Web 15 Novembre 2019
Nouvelles directives de la CNIL (cookies et traceurs) Droit du web (juridique, fiscalité...) 2 Septembre 2019
Cookies et RGPD : mettre en place le script tarteauciron.js Développement d'un site Web ou d'une appli mobile 18 Février 2019
Chute du CTR Adsense avec le bandeau Quantcast des cookies AdSense 15 Février 2019
Texte utilisation cookies et protection des données : pb de duplicate ? Débuter en référencement 8 Janvier 2019
Bandeau Cookies - Obligations dans la forme ? Droit du web (juridique, fiscalité...) 14 Novembre 2018
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice