Как работает тест
Страницы могут рисовать на элементе canvas текст, линии и градиенты, которые браузер отрисовывает движком шрифтов ОС и видеокартой, а затем считывать пиксели. Фингерпринтинг использует то, что отрисовка не везде одинакова.
- Скрипт рисует фиксированную сцену на холсте 300 на 80 пикселей: текст несколькими шрифтами, перекрывающиеся полупрозрачные фигуры и сглаженные кривые.
- Экспортирует холст в строку данных — тем же вызовом, что трекинг-скрипт.
- Хеширует строку и показывает хеш вместе с длиной данных.
- Холст показан на странице, а не спрятан.
- Кнопка запуска повторяет процесс для проверки стабильности.
Хеш вычисляется из пикселей, а не из описания устройства, поэтому два браузера с одинаковым 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: когда помогает и когда вредит
Шум помогает быть неузнаваемым на разных сайтах, и цена мала: несколько сайтов могут отрисоваться с ошибками, а скрипты узнают о рандомизации. Шум вредит, когда сервис уже знает ваш браузер: каждый визит приходит как новое устройство и вызывает письма подтверждения, запросы кода и проверки. Чистое решение — разделение: приватный браузер с шумом для серфинга и стабильный профиль для важных аккаунтов, проверенный здесь перед использованием.
