Какую идентифицирующую информацию может собирать веб-сайт?

Если владелец веб-сайта хочет максимально точно отслеживать, кто его пользователи, что они могут захватывать (и как). Возможно, вы захотите узнать об этом, чтобы собирать информацию о сайте, который вы создаете, или, как пользователь, чтобы предотвратить сбор данных о вас сайтом.

Вот стартовый список, но я уверен, что пропустил некоторые важные:

  1. Реферер (на какой веб-странице была ссылка, по которой вы перешли, чтобы попасть сюда). Это HTTP-заголовок.
  2. IP-адрес машины, с которой вы просматриваете. Это доступно с заголовками HTTP.
  3. Пользовательский агент (какой браузер вы используете). Это HTTP-заголовок.
  4. Файл cookie, размещенный при предыдущем посещении. Это заголовок, доступный только в том случае, если cookie был размещен ранее и не был удален пользователем.
  5. Flash Cookie, размещенный во время предыдущего посещения. Некоторые пользователи отключают файлы cookie, но очень знают, как отключить флэш-файлы cookie. Работает как обычный файл cookie, хотя зависит от Flash.
  6. Веб-ошибки. Поместите что-нибудь маленькое (например, прозрачный однопиксельный GIF) на страницу, которую предоставляет сторонний поставщик. Некоторые третьи стороны (например, DoubleClick) будут иметь свои собственные файлы cookie и могут соотноситься с другими посещениями пользователя (за определенную плату!).

Это обычные, о которых я думаю, но должно быть МНОГО необычных. Например, это:

  1. Время на часах пользователя. Используйте JavaScript для его передачи.

... о котором я никогда не слышал, пока не прочитал его здесь.


ДОБАВЛЕНО ПОЗЖЕ (после прочтения этого):

Пожалуйста, постарайтесь указать только ОДИН пункт для каждого ответа, тогда мы сможем использовать голосование, чтобы отсортировать лучшие/более интересные из них. Список ниже, вероятно, менее эффективен.

Ну ладно... В следующий раз, когда я задам подобный вопрос, я его лучше сформулирую.


И вот некоторые из лучших ответов, которые я получил:

  1. Джеймс указывает, что IE передает версию платформы .NET.
  2. AviewAnew указывает, что можно узнайте, какие сайты вы посещали.
  3. Мекки указывает, что разрешение экрана можно определить.
  4. Мекки также отмечает, что любую информацию об автозаполнении, кэшированную вашим браузером, можно определить, создав скрытое поле, а затем прочитав его с помощью JavaScript.
  5. jjrv указывает, что Flash может отображать шрифты на пользовательском машина.
  6. Кент указывает, что вы можете узнать какие веб-сайты посещал пользователь.
  7. Silver Dragon указывает, что вы можете определить местоположение мыши в окне просмотра с использованием Flash и AJAX.
  8. Джим указывает, что вы можете определить, на каком языке говорит пользователь настроены в их браузере из HTTP-заголовка.
  9. Джим также упоминает, что вы можете определить, используют ли люди Greasemonkey или что-то подобное для изменения страницы.

person Community    schedule 17.09.2008    source источник


Ответы (12)


Модификации вашего оригинала:

  1. можно экранировать (я думаю, что это опция в некоторых браузерах)
  2. можно избежать только с помощью прокси-сервера (JavaScript может противоречить этому, однако с умным поиском)
  3. ненадежен, легко подделывается.
  4. И если предположить, что он не был стерт при закрытии браузера (сеансовый файл cookie), а файл cookie находится в том же домене/пути

Настоящие неприятные

  1. Использование javascript для проверки вашей сети/локальной сети
  2. Использование javascript для доступа к вашему брандмауэру из-за брандмауэра и настройки его параметров (без шуток)
  3. Использование функции «посещенной ссылки», чтобы определить, какие из списка URL-адресов были посещены. (глубокое исследование истории!)
  4. Черт его знает, что если у пользователя Windows/IE/ActiveX
person Kent Fredric    schedule 17.09.2008

  • Существует заголовок, который может включать информацию о прокси-сервере, который использует пользователь, а также может включать IP-адрес пользователя (в этом случае другой IP-адрес является одним из прокси-серверов)
  • Разрешение экрана, операционная система, глубина цвета, размер панели задач (сравните максимальное и текущее разрешение), если включена Java, шрифты сглаживания, плагины, установленные через Javascript
  • Апплет Java также может дать вам кучу информации, но я не знаю, что именно.
  • Посещенные вами сайты
  • Сведения о вашей локальной сети, такие как активные хосты, веб-серверы. . Бумага Также описывается попутная печать, попутная модификация маршрутизатора.

И все это при условии, что злоумышленник не выполняет произвольный код.

person Tom Ritter    schedule 17.09.2008

Javascript может получить больше информации, чем просто время. Например. разрешение экрана (+ глубина цвета) является одним из них.

См. Получение разрешения экрана с помощью JS.

Все, что может захватить JS, может быть передано с помощью AJAX без участия пользователя. Другие примеры (не все будут работать в каждом браузере):

  • Он может просматривать историю вашего браузера, например. какой URL-адрес будет использовать ваш браузер, если вы нажмете назад или вперед.

  • Язык вашего браузера (Примечание: обычно HTTP-запрос также содержит список предпочтительных языков для запрашиваемой страницы. Однако этот список редактируется пользователем в настройках многих браузеров, в то время как JS фактически может узнать, какой язык перевода использует ваш браузер в интерфейсе)

  • Если ваш браузер автоматически заполняет поля формы (например, адрес электронной почты, имя пользователя и т. д.), JS на самом деле уже может прочитать то, что ваш браузер ввел в поля, до того, как вы отправили форму (таким образом, он может даже прочитать то, что ваш браузер предварительно заполнил там, даже если вы вообще никогда не отправляете форму).

Апплет Java также может собирать некоторую информацию и передавать ее, хотя здесь не так много информации, которую вы уже могли бы получить в другом месте. Поскольку получить IP-адрес посетителя несложно, можно узнать, какой онлайн-сервис он использует (просматривая IP-адреса в адресных службах, таких как IANA для США или RIPE для Европы и т. д.), и есть службы, которые переводят IP-адреса в страну. , чтобы можно было узнать, где в данный момент скорее всего находится пользователь.

person Mecki    schedule 17.09.2008

Некоторая дополнительная информация, которая может быть интересна:

  • Используя IP-адрес, можно определить имя хоста, сетевого провайдера / организацию, к которой принадлежит IP, и примерное географическое положение.
  • Используя реферер, список запросов, которые делает указанный клиент, и надежный механизм файлов cookie, можно определить путь, который делает посетитель (даже переходы на другие стороны, с помощью AJAX и/или страницы пересылки).
  • Используя флэш-память в сочетании с AJAX, можно зафиксировать положение мыши в окне просмотра.
  • Пользовательский агент может содержать информацию об операционной системе, установленных платформах .NET и другие любопытные сведения.
person Silver Dragon    schedule 17.09.2008

Версии .NET framework передаются в IE, в User Agent.

person Jim Deville    schedule 17.09.2008

Помимо прочего, Flash может предоставить вам список шрифтов на компьютере пользователя. Javascript может отправлять информацию, когда мышь останавливается на объявлении, не нажимая на него. Вы также можете получить размер окна, открыт ли сайт во фрейме, были ли заблокированы всплывающие окна или определенные плагины, поиск функций Javascript может определить, является ли заголовок пользовательского агента правильным или поддельным...

person jjrv    schedule 17.09.2008

Если вы беспокоитесь о своей личной безопасности (я не уверен, что вы действительно этого добиваетесь, поэтому приношу свои извинения, если это неверно), вы всегда можете использовать сеть Tor. Если вы используете Firefox, вы можете использовать Torbutton для включения одним щелчком мыши. Преимущество (для некоторых недостаток) заключается в отключении Flash, потому что в противном случае невозможно защититься от утечек информации Flash.

person Ovid    schedule 17.09.2008

  • Обычно вы можете определить, на каком языке говорит пользователь, через HTTP-заголовок Accept-Language.
  • Вы можете определить, установлены ли определенные приложения и плагины для браузера, просмотрев HTTP-заголовок Accept.
  • Версия браузера/уровень исправления и версия платформы .NET через HTTP-заголовок User-Agent.
  • Ваш интернет-провайдер/работодатель и географическое положение по IP-адресу.
  • Независимо от того, посещали ли вы определенные URL-адреса через CSS и/или события загрузки по времени. Если конкретный веб-сайт имеет пользовательские URI, это может раскрыть, являетесь ли вы определенным пользователем на этом сайте или нет.
  • Какие шрифты доступны при измерении ems и/или Flash.
  • Разрешение экрана, размер окна, часовой пояс через JavaScript.
  • Где вы перемещаете мышь и нажимаете клавиши через JavaScript. Например, вы можете видеть, что люди вводят в текстовые поля, даже если они не нажали кнопку «Отправить».
  • Многие сценарии UserJS/Greasemonkey пропускают информацию (например, если вы отфильтруете определенных людей, сайты, для которых он настроен, смогут узнать, кто именно).
person Jim    schedule 17.09.2008

  1. Может ли браузер поддерживать JS
  2. Поддерживает ли браузер flash
  3. Платформа операционной системы
  4. Разрешение экрана
  5. Поддерживает CSS
  6. Поддерживает таблицы
person Mitchel Sellers    schedule 17.09.2008
comment
Когда вы сказали flas, вы имели в виду flash? КАК можно проверить эти вещи? Например, я никогда не слышал, чтобы можно было проверить, поддерживаются ли таблицы... как, черт возьми, это можно сделать? - person mcherm; 18.09.2008
comment
да, это должна была быть вспышка. Некоторые из них выполняются с помощью JS, а некоторые — это элементы, которые .NET уже вычисляет для вас, если вы используете ASP.NET. Вы можете использовать Google, чтобы получить хороший список предметов, которые вы можете найти. - person Mitchel Sellers; 18.09.2008

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

person scunliffe    schedule 19.09.2008

Насколько я знаю, можно получить данные из буфера обмена через javascript. Не уверен, насколько это возможно по умолчанию в наши дни, но не так давно это было в моде. Я верю, что IE все еще позволяет это.

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

person Daniel Bruce    schedule 19.09.2008

опоздав на вечеринку, веб-сайт также может сканировать ваши порты, чтобы определить, какое программное обеспечение вы используете!

person Community    schedule 09.07.2020