Обнаружение "уникального" анонимного пользователя
невозможно идентифицировать пользователя или запрос как unique
, поскольку обманывание тривиально.
Однако есть несколько методов, которые в совокупности могут препятствовать попыткам обмана и предоставлять пользователю квази-уникальный статус.
Я знаю следующее:
- IP-адрес - сохранить IP-адрес каждого посетителя в какой-либо базе данных
- Может быть фальшивкой
- Несколько компьютеров/пользователей могут иметь один и тот же адрес
- Пользователи с динамическими IP-адресами (некоторые из них выдают их)
- Отслеживание файлов cookie - хранит cookie на посетителя. Посетители, у которых его нет, считаются "уникальными",
- Может быть фальшивкой
- Файлы cookie могут быть заблокированы или очищены через браузер
Есть ли способ отслеживать несанкционированные посетители (не связанные с регистрацией, не аутентификацией) посетителей веб-сайта?
Ответы
Ответ 1
На самом деле существует множество способов обнаружения "уникального" пользователя. Многие из этих методов используются нашими друзьями в области маркетинга. Это становится еще проще, когда у вас есть плагины, такие как Java, Flash и т.д.
В настоящее время моя любимая презентация отслеживания файлов cookie evercookie (http://samy.pl/evercookie/). Он создает "постоянный" файл cookie с помощью нескольких механизмов хранения, средний пользователь не может выполнить флеш, в частности он использует:
- Стандартные HTTP файлы cookie
- Локальные общие объекты (Flash Cookies)
- Изолированное хранилище Silverlight
- Сохранение файлов cookie в значениях RGB
автоматически генерируемые, принудительно зашифрованные PNG
использование тега Canvas HTML5 для чтения пикселей
(файлы cookie).
- Сохранение файлов cookie в Истории веб-поиска
- Сохранение файлов cookie в HTTP файлах HTTP
- Сохранение файлов cookie в веб-кеше
- кеширование window.name
- Хранилище userData для Internet Explorer
- Хранилище HTML5
- Локальное хранилище HTML5
- Глобальное хранилище HTML5
- Хранилище баз данных HTML5 через SQLite
Я не могу вспомнить URL-адрес, но есть также сайт, который говорит вам, как "анонимный" вы основаны на всем, что он может собрать из вашего веб-браузера: какие плагины вы загрузили, какую версию, какой язык,... Затем вы можете использовать плагины, о которых я говорил ранее (Flash, Java,...), чтобы узнать больше о пользователе. Я отредактирую этот пост, когда найду страницу, которая показала вам "насколько вы уникальны", или, может быть, кто-то знает & raquo; & raquo;, на самом деле это выглядит так, как будто каждый пользователь уникален!
- ИЗМЕНИТЬ -
Нашел страницу, о которой я говорил: Panopticlick - "Как уникально и отслеживается ваш браузер" .
Он собирает такие вещи, как User Agent, заголовки HTTP_ACCEPT, плагины браузера, часовой пояс, размер и глубину экрана, системные шрифты (через Java?), файлы cookie...
Мой результат: Ваш отпечаток пальца вашего браузера, по-видимому, уникален среди тестируемых 1 221 154.
Ответ 2
Panopticlick имеет довольно утонченный метод проверки уникальных пользователей, использующих отпечатки пальцев. Помимо IP-адреса и пользовательского агента, он использовал такие вещи, как часовой пояс, разрешение экрана, шрифты, установленные в системе, и плагины, установленные в браузере и т.д., Поэтому он имеет очень четкий идентификатор для каждого пользователя без сохранения все на своих компьютерах. Ложные негативы (поиск двух разных пользователей с точно такими же отпечатками пальцев) очень редки.
Проблема с этим подходом заключается в том, что он может дать некоторый ложный позитив, т.е. он считает, что один и тот же пользователь будет новым, если они, например, установили новый шрифт. Если это нормально или не зависит от вашего приложения, я полагаю.
Ответ 3
Да, невозможно сказать анонимным посетителям отдельно со 100% уверенностью. Лучшее, что вы можете сделать, это собрать информацию, которая у вас есть, и попытаться рассказать как можно больше посетителей.
Есть еще одна часть информации, которую вы можете использовать:
- Строка браузера
- Он не уникален, но в сочетании с другой информацией он увеличивает разрешение.
Если вам нужно рассказать посетителям обособленно со 100% уверенностью, вам необходимо сделать вход в систему.
Ответ 4
На мой взгляд, нет надежного способа достичь этого. Из ваших вариантов, cookie, скорее всего, даст достаточно реалистичный номер. NAT и прокси-серверы могут маскировать IP-адреса большого числа пользователей, а динамическое распределение IP-адресов будет путать результаты для многих других.
Рассматривали ли вы использование, например, Google Analytics или подобное? Они выполняют уникальное отслеживание посетителей как часть своего сервиса, и у них, вероятно, гораздо больше денег, чтобы бросить поиск эвристических решений этой проблемы, чем вы или я. Просто мысль!