Просмотров: 38457
Дата последнего изменения: 03.07.2023
Сложность урока:
2 уровень - несложные понятия и действия, но не расслабляйтесь.
1
2
3
4
5
Для чего нужно переносить cookie
Особенностями многосайтовой системы являются:
единые права;
единый набор бюджетов пользователей;
единая система ведения статистики.
и т.п.
Исходя из этого, становится актуальной задача распознать одного и того же посетителя, приходящего на разные сайты c разными доменными именами в рамках одного портала.
Распознавание посетителей осуществляется с помощью файлов
cookie (куков)
Это текстовая строка информации, которую веб-сервер передает в браузер посетителя сайта и которая сохраняется в файле на устройстве посетителя. Как правило, используется для определения уникальности посетителя, времени его последнего визита, личных настроек, уникального идентификатора корзины покупок и т.д.
Подробнее...
, представляющих из себя информацию, передаваемую между веб-сервером и браузером и хранимую только на локальном диске посетителя.
Теперь постараемся объяснить на примере суть проблемы:
При первом заходе посетителя на сайт A ему выдаются ряд идентификаторов, используемых разными модулями (например, идентификатор посетителя в модуле статистики или идентификатор покупателя в модуле интернет-магазина и т.д.), которые запоминаются в хранимых cookie, принадлежащих A.
Когда посетитель в следующий раз возвращается на этот же сайт A, он будет «узнан» благодаря информации хранимой в cookie, принадлежащих А.
Теперь представим, что этот же посетитель пришел на сайт B. Возникает задача «узнать» его как посетителя в недавнем прошлом cайта A. Под термином «узнать» здесь понимается получение идентификаторов, выданных ему на A. Проблема осложняется тем, что если доменное имя B отличается от доменного имени A, то информация, хранимая в cookie, принадлежащих сайту A, не может быть получена при заходе посетителя на сайт B. Также есть обратная проблема – cookie, устанавливаемые с сайта A (и на этот же сайт A) не могут быть установлены на сайт B. Такова политика безопасности браузеров.
Для решения вышеописанных проблем используется технология переноса cookie посетителя между разными сайтами с разными доменными именами и принадлежащих одному порталу. Она имеет также название UserMultiSiteTransfer.
О технологии UserMultiSiteTransfer
Алгоритм работы технологии можно описать так:
Когда посетитель заходит на сайт A, идентификаторы, выдаваемые ему, будут сохраняться в cookie с помощью функции CMain::set_cookie, основная задача которой не только установить cookie для текущего сайта A, но и запомнить данные этого cookie для дальнейшего распространения его на другие сайты B, C, D.
В конце визуальной части эпилога вызывается функция CMain::ShowSpreadCookieHTML. В результате получится, что cookie, установленный на сайте A, будет скопирован (перенесен) на другие сайты – B, C, D.
Аналогично происходит и для других сайтов. Если посетитель, зайдя на сайт B, получит какой-либо идентификатор, который необходимо сохранить в cookie, то этот идентификатор будет также сохранен и для других сайтов A, C, D. Таким образом, мы добиваемся единого набора cookie для всех сайтов одного портала.
Использование данной технологии позволяет:
В модуле Веб-аналитика подсчитывать уникальных посетителей для всего портала.
В модуле Реклама, баннеры позволяет корректно учитывать количество показов одного баннера одному посетителю.
Другие модули также активно используют эту методику.
Примечание:
Технология UserMultiSiteTransfer будет использоваться для сайтов многосайтовой конфигурациии, если активирована опция: Распространять куки на все домены в настройках Главного модуля.