cookie

Начальные условия: при входе на тестовую страницу сайта furmanov.ru выполняется Ajax запрос c использованием XMLHttpRequest к i.ivru.net демонстрирующий что каких либо cookie не передаётся(как и не передаётся cookie при прямом открытии страницы furmanov.ru), так же при прямом входе на i.ivru.net cookie не передаётся, так и должно быть поскольку для тестирования в браузере был создан отдельный профиль, который не использовался до тестирования.

При первом тесте осуществляется попытка установить cookie(test160=ustanovleno) в результате Ajax запроса с furmanov.ru на i.ivru.net без javaScript свойства withCredentials объекта XMLHttpRequest с параметром set-cookie domain=i.ivru.net, а так же SameSite=None и Secure. При следующем аналогичном Ajax запросе с закомментированным set-cookie на сервере видно что каких либо cookie в запросе на i.ivru.net не передаётся, то-есть без JavaScript параметра withCredential cookie не была установлена.

Второй тест начинается на отметке 3:09 видео. Он отличается от первого тем что параметр withCredentials JavaScript объекта XMLHttpRequest установлен в значение true(при первом тесте строка с этим параметром в JavaScript была закомментирована, раскомментируется она на отметке времени в видео 3:25), cookie(с аналогичным именем и значением) устанавливается таким же как и в первом тесте вызовом set-cookie. В этом тесте cookie успешно устанавливается и на отметке времени можно видеть как она передаётся в ajax запросе с сайта furmanov.ru на сайт i.ivru.net и это при том что при установке cookie не использовалось специальных заголовков разрешающих браузеру работу с cros запросами, ошибку cros видно в момент установки cookie на отметке времени в видео и не смотря на это cookie была установлена. Так же в рамках этого теста выполняется Ajax запрос с сайта furmanov.ru на ivru.net при этом cookie не передаётся(в момент установки cookie с именем test160 она устанавливалась с параметром domain=i.ivru.net, поэтому на домен верхнего уровня cookie не передаётся). Кроме этого в рамках этого же теста осуществляется прямой вход на i.ivru.net и видно что какие либо cookie не передаются, следовательно cookie установленные в результате cros-запроса с сайта furmanov.ru на i.ivru.net не передаются при прямом входе на i.ivru.net.

Третий тест начинается на отметке времени 5:25. В нём тестируется возможность установки cookie(имя=значение) в результате Ajax запроса с сайта furmanov.ru на ivru.net с параметром в set-cookie domain=i.ivru.net, то-есть когда в параметре set-cookie передаётся суб-домен домена на который приходит ajax-запрос.

Четвёртый тест начинается на отметке времени видео 7:20 ВОЗМОЖНО ОН ПОХОЖ на вторую часть предыдущего теста, только cookie(test16=ustanovleno) устанавливается параметром SameSite равным Lax, а не None. Отправляется Ajax-запрос с furmanov.ru на i.ivru.net при котором устанавливается cookie с использованием параметра domain=ivru.net в set-cookie. При повторном ajax запросе устанавливаемая в тесте cookie не передаётся, из чего можно сделать вывод что для установки такой cookie значение параметра SameSite должно быть именно None. Так же в этом тесте производится проверка попытки установить cookie(test163=ustanovleno) с параметром SameSite в set-cookie варным Strict(вместо Lax), в рамках этого теста на отметке времени видео 9:04 видно что при повторном Ajax-запросе cookie с именем test163 так же не передаётся, то есть установить cookie таким образом не удаётся как с значением параметра SameSite равным Lax, так и Strict. То есть установилась cookie только при значении параметра SameSite в set-cookie равным None.

Закончил смотреть 9:05

===========================

При установки cookie следующим образом: header("set-cookie: test143=ustanovleno; path=/; domain=i.ivru.net; expires=Thu, 01-Jan-2026 00:05:00 GMT; Secure; SameSite=None"); при установке с домена ivru.net - cookie не будет доступна ни на нём ни на i.ivru.net. Если установить так же с субдомена i.ivru.net cookie будет доступна на i.ivru.net и www.i.ivru.net и не будет доступна на ivru.net и www.ivru.net.

Тестирование установки cookie в результате запроса между доменами по AJAX

Видео с результатами крос-доменного Ajax-запроса

Комментарии

Если у Вас возникли вопросы, Вы можете задать их в форме ниже. В частности если Ваш вопрос по Bitrix и что то не получается - можно спросить. Ваш e-mail не публикуется, при этом я отвечу на него если будет что то по теме. Писать необходимо для людей - избегайте сленга, пишите орфографически правильно.

Имя:
E-mail:
Текст комментария:

Вы так же можете прочитать следующие статьи: