Что может узнать о вас любой сайт
easy

Что может узнать о вас любой сайт

Для чего он это делает и как

Большинство сайтов, которые мы посещаем, собирают о нас какую-то информацию. Одни делают это для улучшения пользовательского опыта, другие — в рекламных целях и для безопасности, а третьи так анализируют поведение посетителей, чтобы оптимизировать конверсию. Давайте разберёмся, какие данные может собрать о нас сайт и как он это делает.

Разрешение экрана

Мы используем разные устройства для просмотра контента: мониторы, ноутбуки, смартфоны, планшеты. У экранов этих устройств разные разрешения и соотношения сторон.

Чтобы узнать физическое разрешение экрана пользователя, можно использовать такой код:

var screenResolutionWidth = screen.width;
var screenResolutionHeight = screen.height;
console.log("Физическое разрешение экрана пользователя: " + screenResolutionWidth + "x" + screenResolutionHeight);

Но этого не всегда бывает достаточно, ведь на экране монитора или ноутбука можно открыть окно браузера произвольного размера. Чтобы определить ширину и высоту внутренней области экрана браузера, то есть размеры видимой области страницы без учёта панели инструментов или полос прокрутки, можно использовать такой код:

var screenWidth = window.innerWidth;
var screenHeight = window.innerHeight;
console.log("Разрешение экрана пользователя: " + screenWidth + "x" + screenHeight);

Зачем это нужно:

  • Адаптировать дизайн и содержимое сайта, чтобы они лучше смотрелись на нашем устройстве, а также оптимизировать загрузку изображений и видео, чтобы страницы загружались быстрее.
  • Анализировать статистику и использовать её для улучшения работы сайта. Например, если сайт чаще всего просматривают с мобильных устройств, его могут адаптировать именно для этого.
  • Показывать какую-то рекламу только на определённых разрешениях, если рекламодатель хочет, чтобы она выглядела лучше и работала эффективнее.

Технические характеристики компьютера

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

Цифровой отпечаток состоит из различных параметров, например:

  • операционная система, 
  • процессор, 
  • видеокарта, 
  • разрешение экрана, 
  • системные шрифты, 
  • настройки времени и геолокации.

Всё это в сумме образует уникальный идентификатор, по которому можно распознать отдельных пользователей.

У многих будут одинаковые устройства и конфигурации браузера: у большинства пользователей последней версии MacBook Air будет последняя версия браузера Safari и аналогичное оборудование. Чтобы отличить таких пользователей друг от друга, некоторые веб-сайты проводят дополнительные тесты. Например, дают браузеру фоновую задачу по отрисовке простых графических элементов в форматах 2D и 3D.

2D-объекты создаются с помощью Canvas:

Что может узнать о вас любой сайт

3D-объекты создаются с помощью WebGL — JavaScript API для создания 3D-графики. Его поддерживает большинство современных браузеров без дополнительных плагинов:

Что может узнать о вас любой сайт

Визуально тексты и фигуры, созданные при помощи Canvas и WebGL разными устройствами, не будут различаться, но технические данные покажут, что расчёты для визуализации проводились с использованием разных наборов параметров, драйверов, программного и аппаратного обеспечения. Результаты рендеринга преобразуются в длинный идентификатор, который можно использовать для ещё более точного распознавания уникального пользователя. Посмотреть свой цифровой отпечаток можно на сайте amiunique.org/fingerprint.

Зачем это нужно:

  • Оптимизация контента и интерфейса. Сайт может предлагать более лёгкую версию видео или изображений для менее мощных устройств.
  • Поддержка и отладка. Сбор данных помогает анализировать проблемы совместимости или ошибки, с которыми сталкиваются пользователи.
  • Безопасность. Сайт может анализировать данные, чтобы обнаружить подозрительные устройства или программы, которые могут представлять угрозу.
  • Аналитика и статистика. Используя данные о технических характеристиках, можно определить основную аудиторию сайта.
  • Показ более подходящей рекламы, подобранной на основе аппаратных и программных характеристик, которая может заинтересовать посетителей сайта.

Геолокация

Наше местоположение можно определить двумя способами: по IP-адресу и по данным браузера.

Когда мы подключаемся к интернету, устройство сначала подключается к сети интернет-провайдера. Провайдер случайным образом назначает нашему устройству IP-адрес, после чего подключает устройство к глобальному интернету. Посмотреть свой текущий IP-адрес можно на таких сайтах, как whatismyip.com и iplocation.net.

Определить IP-адрес пользователя можно с помощью такого кода и API сервиса ipify.org:

fetch('https://api.ipify.org?format=json')
  .then(response => response.json())
  .then(data => {
    console.log("IP-адрес посетителя: " + data.ip);
  })
  .catch(error => {
    console.error("Ошибка при получении IP-адреса: " + error);
  });

Но определённое по IP-адресу местоположение пользователя может не соответствовать реальному, если пользователь скрыл свой IP с помощью прокси или VPN. 

Если браузер поддерживает геолокацию и пользователь разрешает доступ к ней, браузер может использовать определить местоположение по данным GPS, Wi-Fi-точек доступа, сетей сотовой связи и опять же IP-адресу.

В этом случае определить местоположение поможет код:

if (navigator.geolocation) {
  navigator.geolocation.getCurrentPosition(showPosition);
} else {
  console.log("Геолокация не поддерживается вашим браузером");
}

function showPosition(position) {
  var latitude = position.coords.latitude;
  var longitude = position.coords.longitude;
  console.log("Широта: " + latitude + ", Долгота: " + longitude);
}

Зачем это нужно:

  • Улучшение опыта использования и персонализация контента. При этом сайты могут предлагать выбрать региональный раздел, местный язык и валюту, а также отображать контент, который нам больше подходит, например местную погоду, новости, товары и услуги.
  • Определение местоположения может служить для проверки подозрительной активности. Например, если мы авторизуемся на сайте из страны, которая не соответствует нашей обычной локации, это может означать, что нас взломали. А может и не означать, если вы работаете в отпуске из другой страны.
  • Местоположение используется, чтобы показывать нам подходящие объявления.

Информация о браузере

Когда при загрузке сайта браузер обменивается данными с сервером, он передаёт и информацию о себе. Узнать тип браузера можно по цифровому отпечатку пользователя или с помощью такого кода:

var userAgent = navigator.userAgent.toLowerCase();

if (userAgent.indexOf('firefox') > -1) {
  console.log("Пользователь использует Firefox");
} else if (userAgent.indexOf('chrome') > -1) {
  console.log("Пользователь использует Chrome");
} else if (userAgent.indexOf('safari') > -1) {
  console.log("Пользователь использует Safari");
} else if (userAgent.indexOf('opera') > -1) {
  console.log("Пользователь использует Opera");
} else if (userAgent.indexOf('msie') > -1 || userAgent.indexOf('trident') > -1) {
  console.log("Пользователь использует Internet Explorer");
} else {
  console.log("Не удалось определить браузер пользователя");
}

Зачем это нужно:

  • Какие-то функции, стили или код могут работать по-разному в разных браузерах. Зная тип браузера, сайт оптимизирут контент под него или его конкретную версию.
  • Некоторые функции, технологии или стандарты доступны только в определённых браузерах. Такой подход помогает избежать проблем с отображением контента или предупредить нас, что какие-то свойства сайта не поддерживаются.
  • Разные браузеры могут иметь известные уязвимости, которые ещё не закрыли. Знание типа браузера может помочь обнаружить и предотвратить попытки взлома или злоумышленного поведения на сайте.

Куки

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

Наш браузер сохраняет эти куки и при последующих посещениях этого же сайта отправляет их обратно на сервер, чтобы сайт нас распознал.

Зачем это нужно:

  • Отслеживание состояния нашего сеанса. Если мы авторизуемся на сайте, закроем его, а потом зайдём на него немного позже, нам не придётся вводить логин и пароль заново.
  • Персонализация и запоминание предпочтений. Сайт может запомнить, что при последнем посещении мы выбрали какой-то язык или тему оформления, и при новом посещении сам применит эти настройки.
  • Аналитика и отслеживание наших действий, чтобы предлагать нам более подходящий контент.
  • Реклама и маркетинг. То же самое, что аналитика, только про рекламу и таргетинг. 

Действия на странице

Сайты могут определять наши действия на страницах с помощью различных методов: событий JavaScript, аналитических инструментов, серверных логов, куки и сеансов, а также специальных трекеров и запрограммированных пикселей.

С помощью событий JavaScript отслеживаются нажатия кнопок, отправки форм, прокрутка страниц и так далее. События также могут быть привязаны к определённым элементам или выполняться при определённых условиях.

Аналитические инструменты, такие как Яндекс Метрика и Google Analytics, — это специальный код, который встраивается на страницу и собирает данные о наших посещениях, действиях и поведении.

Серверные логи — это журналы событий. Серверы могут записывать информацию о запросах, которые мы посылаем. Она может включать данные о посещённых страницах, отправленных формах, кликах на ссылки и других действиях.

Куки и сеансы могут содержать информацию о наших предыдущих действиях на сайте или сохранять идентификатор сеанса, который связывает все наши действия на сайте в пределах одного визита.

Трекеры и пиксели — это специальные элементы, которые используются, чтобы отслеживать наши взаимодействия с рекламными объявлениями или сообщениями.

Отслеживание наших действий полезно для нас:

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

Но есть польза и для самих сайтов:

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

Источники трафика

Чаще всего мы заходим на сайты либо введя адрес, либо перейдя по какой-то ссылке, например из результатов поиска поисковой системы, из сообщения в соцсетях или рекламы.

Сайты могут определять источники трафика различными методами:

  • URL-параметры, такие как UTM-метки. Например, если мы переходим на сайт из рекламы, адрес сайта может содержать параметр, указывающий на рекламный источник.
  • HTTP-заголовки. При каждом нашем запросе к сайту наш браузер отправляет HTTP-заголовки с информацией о реферере — странице или источнике, с которого мы перешли на сайт.
  • Куки могут содержать информацию об источнике трафика, если они установлены на том сайте, с которого мы перешли на новый.
  • Инструменты аналитики, такие как Яндекс Метрика и Google Analytics, могут использоваться, чтобы отслеживать трафик и анализировать источники посещений.

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

А ещё данные об источниках трафика можно использовать для улучшения пользовательского опыта и перераспределения ресурсов. Источники трафика могут указывать на то, как пользователи находят сайт и какие их интересы и потребности. По результатам анализа таких данных сайт можно улучшить. А если большая часть трафика приходится на поисковые системы, сайт может уделить больше внимания оптимизации поисковых запросов и улучшению SEO-показателей.

Что дальше

В следующий раз напишем страницу, которая выведет всю информацию, что ей удалось собрать о пользователе. Заодно посмотрим, что о нас знает браузер и насколько это совпадает с реальностью.

Обложка:

Алексей Сухов

Корректор:

Ирина Михеева

Вёрстка:

Мария Дронова

Соцсети:

Юлия Зубарева

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Вам может быть интересно
easy