Фингерпринт экрана: разрешение и DPR идентифицируют устройство
Браузер и устройство

Фингерпринт экрана: разрешение и DPR идентифицируют устройство

Фингерпринт экрана считывает разрешение дисплея, devicePixelRatio и глубину цвета для построения стабильного идентификатора — без cookies, переживает инкогнито.

7 мин чтения·

Фингерпринт экрана считывает разрешение дисплея, плотность пикселей и глубину цвета через встроенные API браузера для создания стабильного идентификатора, сохраняющегося между сессиями, в приватных окнах и при использовании VPN. Посмотрите, что именно раскрывает ваш экран прямо сейчас на whatsmy.fyi.

TL;DR

Фингерпринт экрана сочетает значения из window.screen и window.devicePixelRatio — разрешение дисплея, доступная область просмотра, глубина цвета и соотношение плотности пикселей — для создания постоянного идентификатора устройства. Сам по себе вносит 3–5 бит энтропии; в сочетании с другими сигналами становится надёжным межсессионным трекером.

Что такое фингерпринт экрана?

Фингерпринт экрана — пассивная техника отслеживания в браузере, собирающая характеристики дисплея, раскрываемые через Screen API и свойство window.devicePixelRatio. В отличие от canvas или WebGL fingerprinting, фингерпринт экрана не требует рендеринга — значения доступны синхронно, без каких-либо вычислений, в момент загрузки страницы. Это делает его одним из наиболее доступных и наименее затратных векторов fingerprinting.

Фингерпринт экрана — ключевой сигнал в более широком семействе техник отпечатков браузера. Он обычно сочетается с данными GPU из WebGL fingerprinting и различиями рендеринга из canvas fingerprinting.

Как работает фингерпринт экрана?

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

Ключевые свойства

screen.width / screen.height — Полные пиксельные размеры физического дисплея в CSS-пикселях. Монитор 1920×1080 при 100% масштабировании сообщает 1920 × 1080. Тот же монитор при 125% масштабировании Windows сообщает 1536 × 864, немедленно раскрывая настройку масштаба ОС.

window.devicePixelRatio — Соотношение физических пикселей дисплея к CSS-пикселям. Стандартный монитор 1080p имеет соотношение 1. Дисплей Retina MacBook Pro — 2. Современный флагманский Android при 3× масштабировании — 3. Это единственное значение надёжно отличает HiDPI-устройства от стандартных дисплеев.

screen.colorDepth / screen.pixelDepth — Количество бит для представления цвета каждого пикселя. На практике это 24практически на каждом современном устройстве, но старые системы и некоторые конфигурации удалённого рабочего стола возвращают 16 или 8.

// Фингерпринт экрана — все значения синхронные, без рендеринга
function getScreenFingerprint() {
  const dpr = window.devicePixelRatio;

  return {
    screenWidth:      window.screen.width,
    screenHeight:     window.screen.height,
    availWidth:       window.screen.availWidth,
    availHeight:      window.screen.availHeight,
    devicePixelRatio: dpr,
    physicalWidth:    Math.round(window.screen.width * dpr),
    physicalHeight:   Math.round(window.screen.height * dpr),
    colorDepth:       window.screen.colorDepth,
    pixelDepth:       window.screen.pixelDepth,
    innerWidth:       window.innerWidth,
    innerHeight:      window.innerHeight,
    orientation:      screen.orientation?.type ?? 'unknown',
  };
}

Насколько уникален фингерпринт экрана?

Сигнал / НаходкаЗначениеИсточник
Энтропия только от разрешения экрана~3,3 битEFF Cover Your Tracks
Энтропия с добавлением devicePixelRatio~4,8 битBrowserLeaks
Наиболее распространённое разрешение (1920×1080)~24% пользователейStatcounter GlobalStats, 2025
Пользователи с уникальным профилем экрана~18%Исследование Fingerprint.com
Точность комбинированного fingerprint (экран + canvas + WebGL)>95%Fingerprint.com Pro

Кто использует фингерпринт экрана?

Реклама и межсайтовое отслеживание

Данные экрана — стандартный ввод в каждой коммерческой платформе fingerprinting. Поскольку это не требует рендеринга и доступно мгновенно при загрузке страницы, это один из первых собираемых сигналов. Рекламные сети объединяют его с IP-адресом, часовым поясом, языком и платформой.

Обнаружение мошенничества

Платформы безопасности используют фингерпринт экрана для обнаружения входа с нового устройства. Внезапное изменение devicePixelRatio — например, переход с Retina Mac (dpr: 2) на стандартный ПК 1080p (dpr: 1) — является сильным сигналом риска.

Как защититься?

  • Tor Browser (наиболее сильная защита): Tor нормализует все значения экрана — сообщает стандартное разрешение независимо от реального дисплея и фиксирует devicePixelRatio на 1.
  • Firefox с privacy.resistFingerprinting: Firefox округляет размеры экрана до стандартного значения и ограничивает devicePixelRatioзначением 1.
  • Brave Browser (рекомендуется для ежедневного использования): Brave применяет технику Farbling к данным экрана — вводит небольшое уникальное для сессии шумовое значение.
  • VPN — полезен, но недостаточен: VPN маскирует IP-адрес, но не влияет на свойства экрана. Проверьте реальный IP на whatsmy.fyi.

Часто задаваемые вопросы

Работает ли фингерпринт экрана в режиме инкогнито?

Да. Режим инкогнито не меняет ваш физический дисплей. screen.width, screen.height и devicePixelRatio идентичны в режиме инкогнито и в обычном окне.

Чем devicePixelRatio отличается на Retina и стандартных дисплеях?

Стандартный монитор 1080p отображает devicePixelRatio равным 1. Дисплеи Apple Retina сообщают 2. Современные флагманские Android — обычно 2,75 или 3. Это единственное значение — один из наиболее надёжных сигналов для различения ноутбуков Apple Silicon от стандартных Windows-ПК.

Связанные статьи

Проверьте свой IP-адрес, местоположение и оценку конфиденциальности — мгновенно.

Без логов. Без слежки. Без внешних API.

Запустить проверку →

Похожие статьи

Фингерпринт экрана: разрешение и DPR идентифицируют устройство | whatsmy.fyi