web-dev-qa-db-fra.com

Où ajouter `Samate = None`?

J'ai eu le code suivant dans l'accumulation sur mon site et j'ai essayé de bien comprendre cela, alors j'ai quelques questions, s'il vous plaît lire.

category-search-Forum:1 A cookie associated with a cross-site resource at https://www.google.com/ was set without the `SameSite` attribute. It has been blocked, as Chrome now only delivers cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032.

J'ai vu beaucoup de gens parler de cela, sur la pile et d'autres endroits en ligne, mais aucun n'a expliqué exactement comment ajouter SameSite=None.

1 question: comment ou où ajoutes-tu le SameSite=None?

et en regardant l'erreur, qu'est-ce que c'est et "sécurisé"

cela signifie t-il SameSite=Secure?

Quelle est la différence entre SameSite=None et SameSite=Secure?

10
Chaz Steiner

Comme discuté ici: https://blog.chromium.org/2019/10/developers-get-ready-for-new.html

C'est en fait une question de côté serveur. Tout ce qu'il dit, est que vous utilisez une ressource d'un autre site (le plus souvent JS ou CSS) et que ce serveur tente de définir un cookie; Cependant, il n'a pas le jeu d'attributs SameSite.

Cela se fait en raison de:

Aujourd'hui, si un cookie est uniquement destiné à être consulté dans un contexte de première partie, le développeur a la possibilité d'appliquer l'un des deux réglages (Saméite = LAX ou Saméite = strict) pour empêcher l'accès externe. Cependant, très peu de développeurs suivent cette pratique recommandée, laissant un grand nombre de biscuits de même site inutilement exposés à des menaces telles que des attaques de falsification de la demande croisée.

Pour protéger davantage de sites Web et de leurs utilisateurs, le nouveau modèle sécurisé par défaut suppose que tous les cookies doivent être protégés de l'accès externe, sauf indication contraire. Les développeurs doivent utiliser un nouveau cadre de cookie, Samesite = Aucun, pour désigner des cookies pour un accès inter-site. Lorsque l'attribut Saméite = Aucun n'est présent, un attribut sécurisé supplémentaire doit être utilisé de manière à ce que les cookies croisés ne soient accessibles que sur les connexions HTTPS. Cela n'empêchera pas tous les risques liés à l'accès au site internet, mais il fournira une protection contre les attaques de réseau.

Au-delà des prestations de sécurité immédiates, la déclaration explicite des cookies de site de croix permet une plus grande transparence et un choix d'utilisateurs. Par exemple, les navigateurs pouvaient offrir aux utilisateurs des contrôles à grains d'utilisateurs pour gérer les cookies qui ne sont accessibles que par un seul site séparément des cookies accessibles sur plusieurs sites.

Au fur et à mesure que votre message ne définit pas si vous travaillez le côté serveur ou le côté du client, mon hypothèse est que vous travaillez le client et comme telles, vous ne pouvez rien faire à ce sujet car cette ressource doit le mettre à jour. Cependant, si vous faites du serveur côté Dev, voici une liste de ressources pour différentes langues: https://github.com/googlechromelabs/samesite-examples

TLDR; Si vous êtes client côté client, ceci est dû au fait qu'une ressource liée ne dispose pas de cet ensemble et que vous ne pouvez rien faire à ce sujet. Si vous êtes le côté serveur Dev, cédez le lien GitHub pour des exemples sur la manière de résoudre ce problème pour votre site.

EDIT: Si vous voulez simplement vous débarrasser du message, la solution a été discutée ici: AVERTISSEMENT DE CHROME CONSOLE SAMESITE COOKIE AVERTISSEMENT où vous pouvez les désactiver via chrome://flags Cookie Deprecation messages disabled.

2
Munsterlander