Обнаружение «уникального» анонимного пользователя - PullRequest
39 голосов
/ 15 октября 2010

Это невозможно , чтобы идентифицировать пользователя или запрос как unique, поскольку дублирование тривиально.

Однако существует несколько методов, которые в сочетании, может воспрепятствовать попыткам мошенничества и дать пользователю квази-уникальный статус.

Я знаю следующее:

  1. IP-адрес - сохранить IP-адрес каждого посетителя в базе данных некоторыхsort
    • Может быть подделан
    • Несколько компьютеров / пользователей могут иметь один и тот же адрес
    • Пользователи с динамическими IP-адресами (некоторые ISP выдают их)
  2. Отслеживание файлов cookie - сохранение файлов cookie для каждого посетителя.Посетители, у которых его нет, считаются «уникальными»
    • Может быть подделан
    • Файлы cookie могут быть заблокированы или очищены через браузер

Существуют ли другие способы отслеживания неавторизованных (без входа в систему, без проверки подлинности) посетителей веб-сайта?

Ответы [ 4 ]

56 голосов
/ 15 октября 2010

Существует множество способов обнаружить «уникального» пользователя.Многие из этих методов используются нашими маркетологами.Это становится еще проще, когда у вас включены плагины, такие как Java, Flash и т. Д.

В настоящее время моя любимая презентация отслеживания на основе файлов cookie - evercookie (http://samy.pl/evercookie/). Создает «постоянный»"cookie через несколько механизмов хранения, обычный пользователь не может сбросить, особенно он использует:

  • Стандартные куки-файлы HTTP
  • Локальные общие объекты (Flash-куки)
  • Изолированное хранилище Silverlight
  • Хранение файлов cookie в значениях RGB автоматически сгенерированных PNG-файлов с принудительным кэшированием с использованием HTML5-тега Canvas для считывания пикселей (cookie) обратно
  • Хранение файлов cookie в истории веб-поиска
  • Хранение файлов cookie в HTTP ETags
  • Хранение файлов cookie в веб-кэше
  • кэширование window.name
  • Хранение пользовательских данных Internet Explorer
  • Хранилище сеансов HTML5
  • Локальное хранилище HTML5
  • Глобальное хранилище HTML5
  • Хранение базы данных HTML5 через SQLite

Я не могу вспомнить URL, но есть и сайткоторый говорит вам, насколько «анонимно» вы основываетесь на всем, что он может собрать из вашего веб-браузера: какие плагины вы загрузили, какую версию, какой язык, размер экрана, ... Затем вы можете использовать плагины, о которых я говорил ранее (Flash, Java, ...), чтобы узнать еще больше о пользователе.Я отредактирую этот пост, когда найду страницу, которая показала вам «насколько вы уникальны» или, может быть, кто-то знает "" на самом деле все выглядит так, как будто каждый пользователь уникален!

- РЕДАКТИРОВАТЬ -

Найдена страница, о которой я говорил: Panopticlick - "Насколько уникален и отслеживаем ваш браузер" .

Он собирает такие вещи, как пользовательский агент, заголовки HTTP_ACCEPT, плагины браузера, часовой пояс, размер и глубину экрана, системные шрифты (через Java?), Файлы cookie ...

Мой результат: Отпечаток вашего браузерабыть уникальным среди 1221 154 протестированных до сих пор.

8 голосов
/ 15 октября 2010

Panopticlick имеет довольно усовершенствованный метод проверки уникальных пользователей с помощью снятия отпечатков пальцев. Помимо IP-адреса и пользовательского агента, он использовал такие вещи, как часовой пояс, разрешение экрана, шрифты, установленные в системе, плагины, установленные в браузере и т. Д., Поэтому у него есть очень четкий идентификатор для каждого пользователя без сохранения что-нибудь в их компьютерах . Ложные негативы (обнаружение двух разных пользователей с одинаковым отпечатком пальца) очень редки.

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

2 голосов
/ 15 октября 2010

На мой взгляд, нет безошибочного способа добиться этого.Из ваших вариантов куки наиболее вероятно дают разумно реалистичное число.Серверы NAT и прокси-серверы могут маскировать IP-адреса большого числа пользователей, а динамическое распределение IP-адресов может привести к путанице в результатах для многих других

Рассматривали ли вы, например, использование Google Analytics или аналогичного?Они выполняют уникальное отслеживание посетителей как часть своего сервиса, и, вероятно, у них гораздо больше денег, чтобы найти эвристическое решение этой проблемы, чем вы или я. Просто мысль!

2 голосов
/ 15 октября 2010

Да, невозможно отличить анонимных посетителей от 100% уверенности. Лучшее, что вы можете сделать, это собрать информацию, которая у вас есть, и попытаться рассказать как можно большему количеству посетителей.

Есть еще одна информация, которую вы можете использовать:

  1. Строка браузера
    • Это не уникально, но в сочетании с другой информацией увеличивает разрешение.

Если вам необходимо рассказать посетителям с уверенностью 100%, то вам нужно заставить их войти в систему.

...