Междоменное отслеживание файлов cookie - PullRequest
0 голосов
/ 11 марта 2010

Компания, в которой я работаю, имеет четыре домена, и я пытаюсь настроить файлы cookie, чтобы один файл cookie можно было генерировать и отслеживать по всем доменам. Прочитав различные посты, я подумал, что это возможно.

Я настроил поддомен на одном сайте, чтобы он обслуживал файлы cookie и изображение размером 1 * 1 пиксель для всех четырех сайтов.

Но я не могу заставить это работать на других сайтах.

Если кто-нибудь может уточнить, что:

  1. Это возможно?
  2. Если я упускаю что-то очевидное или ссылку на хороший пример?

Я пытаюсь сделать это на стороне сервера с PHP.

Спасибо

Ответы [ 2 ]

1 голос
/ 11 марта 2010

У вас есть проблемы из-за Internet Explorer и их конфиденциальности? Переменные сеанса теряются, если вы используете FRAMESET в Internet Explorer 6

В мои прежние интернет-дни, когда впервые появился IE6, нам пришлось реализовать это, потому что это нарушило некоторые из наших методов отслеживания. Удивительно, что все, что вам нужно сделать, это подделать, и все работает отлично.

Вы на правильном пути, у нас был домен, в котором размещался отслеживающий cgi, который обслуживал прозрачный пиксель 1x1 и отслеживал, какую страницу посещал пользователь. Затем у нас был собственный анализатор, который объединял бы эти данные с журналами Apache и динамически создавал график шаблонов трафика пользователей через наш веб-сайт. При этом использовалась точка из пакета Graphviz .

0 голосов
/ 11 марта 2010

Подобные вещи довольно просты, если вы просто пытаетесь делать статистику, но если вы на самом деле пытаетесь сохранить пользовательские данные в разных доменах, вам придется сделать что-то более сложное.

Лучший способ установить междоменный файл cookie - это убедиться, что все ваши сайты являются поддоменами одного основного домена, скажем, initech.com. Поэтому один из ваших сайтов, site1.initech.com, устанавливает файл cookie с доменом «.initech.com», и он отлично работает.

Это может быть проблемой, если ваши сайты находятся на совершенно разных доменах.

Вместо того, чтобы пытаться установить один файл cookie, к которому имеет доступ каждый сайт, вам нужно убедиться, что у каждого сайта есть собственная точная копия оригинального файла cookie. Итак, пусть ваш сайт, site1.com, установит для себя cookie-файл и выведет три файла 1x1 gif, или AJAX-вызовы или что-то еще, чтобы site2.com, site3.com и site4.com установили один и тот же cookie на одно и то же значение.

Это будет сложно сделать надежно и надежно;)

Чтобы убедиться, что кто-то не может установить произвольные файлы cookie на вашем домене, вам нужно будет передать хэш значения cookie в теге изображения. Если для файла cookie задано «mycookieval», также пропустите md5 («mycookieval». «Somesecretstring». $ _ SERVER ['REMOTE_ADDR']). Это потенциально плохо, потому что это может позволить злоумышленнику установить один и тот же файл cookie на тот же IP-адрес или, возможно, перебрать генерацию хэша.

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

...