Как однозначно идентифицировать одного и того же пользователя на нескольких сайтах? - PullRequest
0 голосов
/ 01 июня 2011

Я занимаюсь рекламной сетью в качестве проекта для получения степени бакалавра. Я пытаюсь идентифицировать одного и того же пользователя на нескольких веб-сайтах. В моей базе данных есть таблица USER с идентификатором auto_increment.

На веб-сайтах, которые я отслеживаю, я включил следующий Javascript:

   function OnLoad()
   {
   var requestURI = window.location;
   var resolution = screen.width + 'x' + screen.height;
   var colorDepth = screen.colorDepth;
    var query = '?requestURI=' + encodeURIComponent(requestURI)
         + '&resolution=' + encodeURIComponent(resolution)
         + '&websiteid=' + encodeURIComponent(id);
   document.getElementById("body").innerHTML = "<img src ='http://dan-vaio:8080/licenta/bannerimg.gif'" + query + " width = 500 height = 200 />"; // this is the place where i want to display my banner
   }

На стороне сервера. Вызывается алгоритм выбора баннера, и я получаю очередь из 5 баннеров, которые я хочу показать этому пользователю. (только если пользователь впервые примет этот веб-сайт, в противном случае мне придется отображать оставшиеся баннеры в очереди. Я также не понял, как это сделать, могу ли я сохранить очередь в сеансе?).

Вопрос: если я добавлю файл cookie к ответу в сервлете, будет ли он доступен, когда тот же пользователь перейдет на другой веб-сайт?

У меня есть это:

   Cookie cookie = new Cookie("DisplayedBanners",visitedBanners); //
   response.addCookie(cookie);

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

Большое спасибо.

Ответы [ 2 ]

1 голос
/ 01 июня 2011

Баннерная очередь не будет работать, если вы используете сеанс для этого. Сессия поддерживается на сервере. Если вы перейдете на другой сайт, та же старая сессия здесь не будет работать.

Я бы посоветовал вам сохранить эту информацию в базе данных.

Так что сохраните last_shown_banner_tag с user_id в одной таблице. Эта таблица должна быть распространена среди веб-сайтов.

0 голосов
/ 01 июня 2011

Здесь объясняется, как делать многодоменные куки, но в PHP (требуется настроить Apache)

http://www.tutorialized.com/tutorial/Implementing-Cross-Domain-Cookies/372

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...