Définit Same-Site
attribut d'un cookie à Lax
la même chose que de ne pas le définir du tout? S'il y a des différences, quelles sont-elles?
La définition de l'attribut Same-Site d'un cookie sur lax revient-elle à ne pas définir l'attribut Same-Site?
Dans Google Chrome <76 - no. Setting SameSite=lax
est plus sûr que d'omettre l'attribut. (Mais si votre implémentation repose actuellement sur des requêtes multi-origines, vérifiez que l'ajout de l'attribut ne casse rien.)
Voici les différences:
Lorsque vous ne définissez pas l'attribut SameSite
, le cookie est toujours envoyé.
Avec SameSite=lax
, le cookie n'est envoyé que sur les demandes du même site ou sur une navigation de niveau supérieur avec une méthode HTTP sûre. Autrement dit, il ne sera pas envoyé avec des demandes inter-domaines POST
ou lors du chargement du site dans un cadre multi-origine, mais il sera envoyé lorsque vous accédez au site via un niveau supérieur standard <a href=...>
lien.
Avec SameSite=strict
(ou une valeur non valide), le cookie n'est jamais envoyé dans les demandes intersites. Même en cliquant sur un lien de niveau supérieur sur un domaine tiers vers votre site, le navigateur refusera d'envoyer le cookie.
À partir de Chrome 76 , votre navigateur a la possibilité de faire en sorte qu'aucun SameSite
ne se comporte comme Samesite=Lax
. Ce sera par défaut dans Chrome 80 . D'après la description de fonctionnalité :
La version stable de Chrome 80 est ciblée pour activer cette fonctionnalité par défaut. La fonctionnalité sera activée dans la version bêta uniquement, à partir de Chrome 78. Cette est disponible à partir de Chrome 76 en activant l'indicateur des cookies du même site par défaut).
Ceci est actuellement modifié dans Chrome - et cela signifie que ne pas définir SameSite est en fait considéré comme LAX.
https://blog.chromium.org/2019/05/improving-privacy-and-security-on-web.html
Chrome a récemment implémenté le SameSite=Lax
par défaut si SameSite=None
n'est pas explicitement spécifié.
De plus, l'attribut Secure
DOIT être défini lors de la spécification de SameSite=None
, sinon Chrome l'ignorera.