Attribut SameSite
SameSite est un attribut de cookie qui indique au navigateur s’il doit envoyer le cookie avec les requêtes provenant d’autres sites, avec les valeurs Strict, Lax et None.Un serveur le définit dans l’en-tête Set-Cookie, par exemple Set-Cookie: id=a3fWa; SameSite=Lax. Selon MDN, Strict n’envoie le cookie que pour les requêtes qui proviennent du site qui l’a déposé. Lax l’envoie aussi pour les requêtes intersites lorsqu’il s’agit de navigations de premier niveau, c’est-à-dire que la barre d’adresse change, et qu’elles utilisent une méthode sûre comme GET, mais pas avec les images, les scripts, les appels fetch ou les iframes chargés par un autre site. None l’envoie avec toutes les requêtes, du même site comme intersites, et exige l’attribut Secure. Certains navigateurs, dont Chrome, traitent un cookie sans cet attribut comme Lax.
L’attribut a été conçu comme une défense contre la falsification de requête intersite (CSRF), mais il définit aussi quels cookies peuvent fonctionner comme cookies tiers. Un cookie publicitaire ou de contenu embarqué doit être déposé avec SameSite=None; Secure pour être envoyé lorsque son domaine est chargé à l’intérieur d’un autre site. Voir SameSite=None dans un scan indique donc qu’un cookie est destiné à un usage intersite.
SameSite ne dit rien du consentement. Un cookie de mesure d’audience Strict exige toujours un consentement dans l’UE, et un cookie None utilisé par un prestataire de paiement pour sa vérification antifraude peut être strictement nécessaire. Le nouvel attribut Partitioned, qui stocke un cookie intersite séparément pour chaque site de premier niveau, restreint encore le suivi. Voir cookie pour les autres attributs.