SameSite cook ie собственность потеряна - PullRequest
0 голосов
/ 03 февраля 2020

[ Обновлено - см. Комментарий в конце]

Google изменит поведение своего браузера Chrome, чтобы файлы cookie больше не работали при размещении в IFRAME другого домена, если только Для файлов cookie явно установлено значение SameSite = Нет и Безопасность.

Для этого мы внесли это изменение в наш код ASP. NET MVC. У нас есть логика c, когда это нужно установить (только для партнеров, с которыми мы согласились работать), поэтому у нас есть условный лог c:

if (isSameSiteCookieEnforced)
{
    cookie.SameSite = SameSiteMode.None;
    cookie.Secure = true;
}

Мы проверили это в нашем DEV, QA, STAGE и все работает отлично. В инструментах разработчика Chrome (Приложение> Файлы cookie) вы можете проверить файлы cookie и убедиться, что все они помечены как безопасные, и в столбце SameSite их нет.

Однако, когда мы добавили это в В нашей среде PROD мы получаем разные результаты, используя один и тот же браузер: куки помечены как безопасные, но значение SameSite пусто.

То, что мы проверили:

  • Балансировщик нагрузки: мы изолировал это и перешел непосредственно к одному веб-серверу, тот же результат
  • Установлено. NET фреймворки: во всех средах мы установили 4.7.2 и 4.8
  • Адреса. NET framework: во всех средах web.config предусматривает 4.7.2
  • Код: мы извлекли соответствующую DLL из PROD и проверили с помощью ILSPY. Он содержит приведенный выше код

В настоящее время затрудняется объяснить, как файлы cookie могут потерять свойство «SameSite». Переходя к chrome: // flags и фильтрации на SameSite , мы показываем три параметра как «по умолчанию», поэтому Chrome не должен влиять на что-либо иначе, чем одна среда в другую.

Обновление

Наше приложение ASP. NET MVC использует IHttpModule и является одним из последних шагов в методе EndRequest мы прослеживаем печенье. Вы можете ясно видеть, что они установлены с SameSite = None и Secure = true. Но когда они попадают в браузер, свойство SameSite удаляется.

Ответы [ 2 ]

1 голос
/ 03 февраля 2020

Если вы определяете, будет ли применено новое поведение SameSite, вам нужно протестировать поведение с помощью chrome: // помечать записи cookies-site-default-cookie-файлами и cookies-without-same-site -must-be-secure должен быть установлен как «Включен», так и «Отключен». Если для них установлено значение «По умолчанию», то нет способа определить поведение. Он может быть включен или выключен, в зависимости от случайного начального числа, определенного при запуске, поскольку функции в настоящее время находятся в полевом испытании (A / B-тестирование) на бета-версии. См. Второй список пули в «Графике запуска» здесь: https://www.chromium.org/updates/same-site

0 голосов
/ 10 февраля 2020

Обнаружил проблему - оказалось, что нам не хватает Windows патча.

...