Comment puis-je résoudre un avertissement de cookie intersite Google Analytics `SameSite = None` dans Chrome sur Apache 2.4 et PHP 7.1?

14

Le site Web de mon client reçoit ces avertissements concernant les cookies SameSite dans Chrome. J'ai cherché partout et je ne peux pas faire disparaître les avertissements. Les cookies sont dus au suivi des conversions publicitaires de Google sur un site Wordpress. Le site est sur un Apache / 2.4.7 (Ubuntu) hébergé par DreamHost exécutant PHP 7.1 pour des raisons de compatibilité. À mon fichier .htaccess, j'ai essayé d'ajouter:

Header always edit Set-Cookie (.*) "$1; SameSite=None"

et j'ai essayé

Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure

... et j'ai essayé

Header always edit Set-Cookie (.*) "$1; SameSite=None;Secure"

ainsi que de nombreuses autres combinaisons, y compris SameSite = Lax

Un guide recommande pour PHP 7.2 et inférieur:

header('Set-Cookie: cross-site-cookie=bar; SameSite=None; Secure');

Mais cela me donne un 500 Internal Server Erorr.

Pourtant, je reçois toujours les trois erreurs suivantes:

Un cookie associé à une ressource intersite à a été défini sans l' SameSiteattribut. Une future version de Chrome ne fournira des cookies avec des demandes intersites que s'ils sont définis avec SameSite=Noneet Secure. Vous pouvez consulter les cookies dans les outils de développement sous Application> Stockage> Cookies et voir plus de détails sur et.

(index): 1 Un cookie associé à une ressource sur http://doubleclick.net/ a été défini avec SameSite=Nonemais sans Secure. Une future version de Chrome ne fournira des cookies marqués SameSite=Noneque s'ils le sont également Secure. Vous pouvez consulter les cookies dans les outils de développement sous Application> Stockage> Cookies et voir plus de détails sur https://www.chromestatus.com/feature/5633521622188032 .

(index): 1 Un cookie associé à une ressource sur http://google.com/ a été défini avec SameSite=Nonemais sans Secure. Une future version de Chrome ne fournira des cookies marqués SameSite=Noneque s'ils le sont également Secure. Vous pouvez consulter les cookies dans les outils de développement sous Application> Stockage> Cookies et voir plus de détails sur https://www.chromestatus.com/feature/5633521622188032 .

Dans mes recherches, il semble y avoir des informations limitées sur l'avertissement et dans les guides disponibles, je ne sais pas si je dois identifier le cookie par son nom ou comment corriger le cookie / les en-têtes à leur source.

Benson
la source

Réponses:

10

J'ai reçu une réponse de Google Chrome Labs après avoir posté une question similaire sur leur page github .

Les cookies déclenchant l'avertissement proviennent de google.com, vous ne pourrez donc pas les modifier. L'équipe Ads est consciente de ces problèmes et s'efforce de corriger ses cookies avant la date stable de février 2020. Cela signifie également qu'aucune des directives d'en-tête que vous spécifiez n'affectera le cookie google.com, elle ne couvrira que les cookies définis pour votre site.

Si vous avez des avertissements concernant les cookies qui répertorient spécifiquement un domaine que vous contrôlez, vous devrez ajouter les bons attributs. - rowan-m

Benson
la source
1

Je regarderais le script du tracker. Voici la section sur le trafic inter-domaines dans les documents gtag.js. Assurez-vous que seul le domaine est présent et pas www, http, ect.

gtag('set', 'linker', {
  'domains': ['example.com', 'example-b.com']
});
Ususipse
la source
0

Avez-vous essayé ce qui suit?

Header Set Access-Control-Allow-Origin "*"
Header Set Access-Control-Allow-Credentials: true
Header set Set-Cookie: "ACookieAvailableCrossSite; SameSite=None; Secure"

L'avertissement de la console ne signifie pas que quelque chose est nécessairement cassé. votre site continue de fonctionner comme prévu.

J'espère que ce lien vous aidera. Samesite-cookies-ByDefault

Krishnan
la source
Où vous dites ACookieAvailableCrossSite, je suppose que je n'utilise pas ce terme réel? J'ai environ 10 noms de cookies associés au nom google, dois-je les ajouter chacun? À quoi ressemblerait cette syntaxe?
Benson
Access-Control-Allow- est utilisé pour les cookies intersites. Comme vous pouvez le voir sur la première ligne, il autorise tous les domaines. Vous n'avez donc pas besoin d'ajouter chacun.
Krishnan
1
La plupart du site Web a le même problème. J'espère qu'il sera corrigé par Google lui-même. Il suffit de regarder l'avertissement de stackoverflow de la console sur Google Chrome. Là, vous pouvez voir le même avertissement.
Krishnan