Перейти к содержимому
Реклама AccsZone — ready-made accounts for every platform

Canvas-отпечаток

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

Ваше canvas-изображение

Не выполнено
Включите JavaScript, чтобы запустить этот тест в браузере.
Canvas-хеш
определяем…
Данные изображения
—
Браузер
неизвестно

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

Как работает тест

Страницы могут рисовать на элементе canvas текст, линии и градиенты, которые браузер отрисовывает движком шрифтов ОС и видеокартой, а затем считывать пиксели. Фингерпринтинг использует то, что отрисовка не везде одинакова.

  1. Скрипт рисует фиксированную сцену на холсте 300 на 80 пикселей: текст несколькими шрифтами, перекрывающиеся полупрозрачные фигуры и сглаженные кривые.
  2. Экспортирует холст в строку данных — тем же вызовом, что трекинг-скрипт.
  3. Хеширует строку и показывает хеш вместе с длиной данных.
  4. Холст показан на странице, а не спрятан.
  5. Кнопка запуска повторяет процесс для проверки стабильности.

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

Как читать результат

Что вы видите Значение
Хеш одинаков при каждом запуске Норма: стабильный идентификатор этого браузера на этой машине
Хеш различается между запусками Активна рандомизация; скрипты, читающие canvas дважды, ее видят
Изображение пустое, статус «заблокировано» Чтение заблокировано; трекеры видят редкий браузер
Пропущенные глифы или квадраты Шрифт подменен; отпечаток все равно действителен
Хеш совпадает с другим профилем Один стек отрисовки: для сайта — одно устройство

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

Как исправить

Остановить трекинг по canvas. Firefox: privacy.resistFingerprinting в true. Brave: canvas рандомизируется в Shields по умолчанию, строгий уровень — сильнее. Chrome и Edge: расширение, добавляющее шум (типа CanvasBlocker), — шум заметен меньше, чем блокировка. Safari: отдельного переключателя нет. Запустите дважды — меняющийся хеш подтвердит защиту.

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

Антидетект-браузеры. Режим «шум» дает каждому профилю свой стабильный хеш — нужен, когда несколько профилей на одной машине должны выглядеть разными устройствами. Проверьте здесь, что хеш стабилен внутри профиля и различается между профилями. Избегайте «блок»: нечитаемый canvas — более редкая черта, чем любой хеш.

Ограничения теста

  • Нет популяции для сравнения — мы не знаем, сколько машин дают ваш хеш.
  • Один рисунок; хеш на другом сайте будет другим, переносится только свойство стабильности.
  • Обнаружение шума — эвристика; рандомизация раз в сессию выглядит стабильной.
  • Canvas — один сигнал; WebGL, аудио, шрифты и заголовки остаются читаемыми.
  • Результат после действия расширений; страница лишь скажет, меняется ли он.

Почему один рисунок дает разные пиксели

Главный источник — отрисовка текста: у каждой ОС свой растеризатор и правила хинтинга и субпиксельного сглаживания, а набор шрифтов определяет подстановку глифов. Второй — железо: при ускорении на GPU драйвер решает, как сглаживать края и смешивать цвета, и разные карты округляют по-разному. Третий — сам браузер, чуть иначе рисующий кривые и меняющий детали между версиями. Любое различие сдвигает несколько пикселей, а хеш меняется полностью от одного. Подробнее — в статье о canvas-отпечатке.

Как сайты используют canvas-хеш

Сам по себе хеш идентифицирует стек отрисовки; вместе с другими значениями — небольшую группу устройств; вместе с IP, часовым поясом и логином — конфигурацию одного человека. Трекеры узнают по нему браузер там, где заблокированы cookies. Антифрод и безопасность аккаунтов делают наоборот: хранят хеш с регистрации и считают вход с другим хешем с другого адреса новым устройством. Отсюда разный совет: для приватности — пусть хеш меняется, для доверенного входа — пусть никогда не меняется.

Шум canvas: когда помогает и когда вредит

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

Частые вопросы

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

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

Почему мой canvas-хеш меняется при каждом запуске?

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

Уникален ли мой canvas-хеш?

Мы не ведем базу посетителей, поэтому не можем сказать, сколько машин дают ваш хеш. В целом одна модель ноутбука с той же ОС и версией браузера дает тот же хеш, так что это идентификатор класса устройства, а не личности.

Делает ли блокировка canvas меня анонимным?

Нет. Она убирает один сигнал из многих. Заблокированный или пустой canvas сам по себе необычен и виден скриптам, а другие сигналы — WebGL, шрифты и экран — по-прежнему идентифицируют класс устройства.

Включать или выключать шум canvas для входов?

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

Почему тестовое изображение такое маленькое?

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

Меняет ли приватный режим canvas-хеш?

Нет. В приватном режиме canvas отрисовывается тем же железом и ПО, так что хеш идентичен. Его меняют только другой браузер, устройство или настройка шума.