Просмотров: 24585
Дата последнего изменения: 02.03.2021
Сложность урока:
2 уровень - несложные понятия и действия, но не расслабляйтесь.
3
4
5
Для чего нужно переносить cookie
Особенностями многосайтовой системы являются:
- единые права на все сайты
- единый набор бюджетов пользователей на все сайты
- единая система ведения статистики на все сайты
- и т.п.
Исходя из этого, становится актуальной задача распознать одного и того же посетителя, приходящего на разные сайты c разными доменными именами в рамках одного портала.
Распознавание посетителей осуществляется с помощью файлов
cookie (куков)
Cookie - это текстовая строка информации, которую веб-сервер передает в браузер посетителя сайта и которая сохраняется в файле на устройстве посетителя сайта. Как правило, используется для определения уникальности посетителя, времени его последнего визита, личных настроек, уникального идентификатора корзины покупок и т.д.
Подробнее...
, представляющих из себя информацию, передаваемую между веб-сервером и браузером и хранимую только на локальном диске посетителя.
Теперь постараемся объяснить на примере суть проблемы:
- При первом заходе посетителя на сайт A ему выдаются ряд идентификаторов, используемых разными модулями (например, идентификатор посетителя в модуле статистики или идентификатор покупателя в модуле интернет-магазина и т.д.), которые запоминаются в хранимых cookie принадлежащих сайту A.
- Когда посетитель в следующий раз возвращается на этот же сайт A, он будет "узнан" благодаря информации хранимой в cookie, принадлежащих сайту A.
- Теперь представим, что этот же посетитель пришел на сайт 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 будет использоваться для сайтов многосайтовой конфигурациии, если активирована опция: Распространять куки на все домены в настройках Главного модуля.