Есть ли способ, предпочтительный в Java, чтобы однозначно идентифицировать пользователя?
У меня следующий сценарий: у меня есть 10 веб-сайтов, и я хочу знать, когда один и тот же пользователь заходит на любой из моих веб-сайтов.Поэтому, если пользователь заходит на сайт A, и после этого он заходит на сайт B, я хочу получить ответ на вопрос: обращался ли этот конкретный пользователь к сайту A раньше?
Отслеживание IP-адреса является плохим подходом, поскольку в основном IP-адреса являются динамическими или большее количество людей используют один и тот же IP-адрес через маршрутизатор.
Я предполагаю, что получение MAC-адреса - это ветвь безопасности:).
Файлы cookie доступны только для определенного URL !?
Можно ли как-нибудь заставить это работать?
РЕДАКТИРОВАТЬ:
Я прочитал, что невозможно получить доступ к одному и тому же файлу cookie в нескольких доменах.Это возможно в конце концов?Вот ссылка: at: Проблемы с cookie в IE и Chrome (работа с java)"Файлы cookie основаны на домене. Многие браузеры отклоняют файлы cookie на встроенных ресурсах (CSS / JS / images), которые обслуживаются из другого домена, кроместраница обслуживается с "
. Итак, если я добавлю response.addCookie(UniqueCookieForCurrentUser);
, будет ли она доступна на других доменах?
Я звоню, как вы предложили, из javascript:
var query = '?requestURI=' + encodeURIComponent(requestURI)
+ '&resolution=' + encodeURIComponent(resolution)
+ '&websiteid=' + encodeURIComponent(id)
+ '&DisplayedBanners=' + encodeURIComponent(DisplayedBanners);
document.getElementById("body").innerHTML = "<img src ='http://dan-vaio:8080/licenta/bannerimg.gif" + query + "' width = 728 height = 90 />";
И в сервлете я возвращаю это: (после добавления куки в ответ)
File f = new File(filePath);
byte[] b = new byte[(int)f.length()];
FileInputStream fis = new FileInputStream(f);
fis.read(b);
ServletOutputStream out = response.getOutputStream();
out.write(b);
out.close();