Как я могу разрешить межсайтовое предупреждение куки-файла Google Analytics `SameSite = None` в Chrome на Apache 2.4 и PHP 7.1? - PullRequest
7 голосов
/ 13 октября 2019

Веб-сайт моего клиента получает эти предупреждения о файлах cookie SameSite в Chrome. Я искал все, и я не могу получить предупреждения, чтобы уйти. Файлы cookie создаются благодаря отслеживанию конверсий объявлений Google на сайте Wordpress. Сайт работает на Apache / 2.4.7 (Ubuntu), размещенном на DreamHost, и работает под управлением PHP 7.1 по соображениям совместимости. К моему файлу .htaccess я попытался добавить:

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

, и я попытался

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

... и я также попытался

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

как и многие другие комбинации, включая SameSite = Lax

Одно руководство рекомендует для PHP 7.2 и ниже:

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

Но это дает мне 500 Internal Server Erorr.

Все же япо-прежнему появляются следующие три ошибки:

Файл cookie, связанный с межсайтовым ресурсом at, был установлен без атрибута SameSite. В следующем выпуске Chrome файлы cookie будут отправляться только с межсайтовыми запросами, если для них установлены значения SameSite=None и Secure. Вы можете просмотреть файлы cookie в инструментах разработчика в разделе «Приложение»> «Хранилище»> «Файлы cookie» и просмотреть более подробную информацию по адресу и.

(индекс): 1 Файл cookie, связанный с ресурсом в http://doubleclick.net/, был установлен с SameSite=Noneно без Secure. В будущем выпуске Chrome будут использоваться файлы cookie, помеченные SameSite=None, только если они также помечены Secure. Вы можете просмотреть файлы cookie в инструментах разработчика в разделе «Приложение»> «Хранилище»> «Файлы cookie» и просмотреть более подробную информацию в https://www.chromestatus.com/feature/5633521622188032.

(индекс): 1 Файл cookie, связанный с ресурсом в http://google.com/, был установлен с SameSite=None но без Secure. В будущем выпуске Chrome будут использоваться файлы cookie, помеченные SameSite=None, только если они также помечены Secure. Вы можете просмотреть файлы cookie в инструментах разработчика в разделе «Приложения»> «Хранение»> «Файлы cookie» и получить более подробную информацию по адресу https://www.chromestatus.com/feature/5633521622188032.

В моем исследовании информация о предупреждении, как представляется, ограничена, а также в руководствах, которыедоступно, я не уверен, должен ли я идентифицировать cookie по имени или как исправить cookie / заголовки в их источнике.

Ответы [ 3 ]

1 голос
/ 01 ноября 2019

Я получил ответ от Google Chrome Labs после того, как я разместил аналогичный вопрос на их странице github .

Файлы cookie, вызывающие предупреждение, приходят с google.com, поэтому вы не сможете их изменить. Рекламная команда знает об этих проблемах и работает над исправлением своих файлов cookie до стабильной даты февраля 2020 года. Это также означает, что ни одна из указанных вами директив заголовка не повлияет на файл cookie google.com, он будет охватывать только файлы cookie, установленные для вашего сайта.

Если у вас есть предупреждения о файлах cookie, в которых конкретно указан домен, которым вы управляете, тогда вам нужно будет добавить правильные атрибуты. - Роуэн-м

0 голосов
/ 18 октября 2019

Вы пробовали следующее?

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

Предупреждение консоли не означает, что что-то обязательно сломано. Ваш сайт продолжает работать, как и ожидалось.

Надеюсь, эта ссылка поможет вам. Samesite-печенье-ByDefault

0 голосов
/ 18 октября 2019

Я бы посмотрел скрипт трекера. Вот раздел о междоменном трафике в gtag.js документах. Убедитесь, что присутствует только домен, а не www, http, ect.

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