Глоссарий
navigator.platform (платформа)
navigator.platform это короткая строка, которой браузер называет семейство системы, на котором он работает.
Что бывает в этой строке
Ходовых значений всего несколько, и одно из них покрывает все Mac на свете. Значение вне этого набора становится приметой ещё до всякого другого чтения.
MacIntel
Так отвечает любой Mac, включая машины на Apple Silicon.
Win32
Так отвечает любая 64-битная Windows, и это имя осталось с прошлых времён, менять его никто не решается.
Linux x86_64
Настольный Linux называет свою архитектуру прямо внутри строки.
Linux armv8l
Так отвечает Chrome на Android, и у телефона, и у планшета.
Ваша платформа прямо сейчас
Эти три значения прочитаны в вашем браузере на этой странице, и любая проверка читает все три сразу, а не по одному.
Ваша машина прямо сейчас
- Платформа
- измеряем на вашей машине
- Строка браузера
- измеряем на вашей машине
- Часовой пояс
- измеряем на вашей машине
Прочитано в вашем браузере и показано здесь. Никуда не отправляется.
Почему строка обязана сходиться
Строку читают рядом с подсказкой клиента, которая называет ту же систему, и пара тут жёсткая.
Профиль выбирает класс машины, и строка приходит вместе с ним, а не выбирается отдельно от него.
| Подсказка о платформе | navigator.platform |
|---|---|
| Windows | Win32 |
| macOS | MacIntel |
| Linux | Linux x86_64 |
| Android | Linux armv8l |
Во всех местах один ответ
Странице незачем спрашивать тот документ, который у вас перед глазами: она вправе открыть кадр или поднять поток и спросить там.
Профиль Windows, замеренный на Mac, отвечает Win32 и на странице, и в кадре, и в потоке, а расхождение между тремя доказывало бы подмену вернее самого значения.
Страница
Первое чтение, и единственное, до которого доходит большинство проверок.
Скрытый кадр
Свежее окно, у которого значения обязаны быть те же, без всякого сценария поверх.
Поток
Ход без страницы вовсе, где значение из движка держится само, а значение, поставленное сценарием, не держится.
Часто путают с этим
Подсказка о платформе
Новое поле называет ту же систему в понятном виде, Windows или macOS, и проверка читает оба значения за один проход.
Имя системы в строке браузера
То же самое, записанное в длинную строку, и ровно поэтому сайт сверяет две записи.
Архитектура
Про чип эта строка не говорит ничего надёжного, и MacIntel остаётся MacIntel на Apple Silicon.
Как проверить свою
Панель выше показывает, что отвечает тот браузер, в котором вы это читаете, и со страницы ничего не уходит.
Внутри профиля самопроверка отпечатка спрашивает страницу, кадр и поток по отдельности, поэтому значение, утёкшее в любом из трёх, краснеет.
Чего это не делает
- Это не поле для вольного текста. Строка принадлежит выбранному классу машины, а рукой правятся часовой пояс, язык, экран, видеокарта, ядра и память.
- Это не описывает чип. Mac отвечает одной и той же строкой, что бы внутри него ни стояло, поэтому сайт узнаёт из неё семейство и ничего больше, а сам чип называется в другом месте.
- Опустошить её не защита. Браузер вообще без платформы встречается реже любой платформы, и сама пустота становится приметой.
- Это не тянет за собой остальную систему. Шрифты, видеокарту и поведение читают отдельно, и сошедшаяся строка ни одного из них не двигает ни на шаг.
Проверить
Всё написанное выше взято из файла, который можно открыть.
- Самопроверка спрашивает страницу, кадр и поток
- apps/desktop/src/lib/fpAudit.js
- Подсказка о платформе и эта строка жёсткая пара
- apps/desktop/test/fingerprint-consistency.js
- Кадр отвечает то же, что страница
- apps/desktop/test/fingerprint-realms.js
- Замер собранного движка, который едет сегодня
- engine/приёмка-отчёт.json
Вопросы
- navigator.platform устарел?
- Устарел и всё равно читается. Код, который его читает, стоит везде, поэтому значение, на которое браузеры просят не опираться, живёт на первом экране любой проверки.
- Почему Mac пишет MacIntel?
- Потому что так пишет любой Mac, включая Apple Silicon. Mac, назвавший там что-то другое, остался бы такой один на свете, а это обратное тому, чего мы хотим.
- Может ли профиль на Mac отвечать Win32?
- Может, если выбрать класс машины Windows. Экран, видеокарта, ядра, шрифты и подсказки переезжают вместе с ним, потому что одинокая строка спорила бы со всеми ними.
- Что отвечает телефон?
- Linux armv8l, и телефон, и планшет. Различает их признак мобильного и длинная строка, а не это значение, и планшет, назвавшийся мобильным, спорит сам с собой в первом же заголовке.
- Видит ли поток то же значение?
- Обязан видеть. Значение приходит из движка, поэтому каждый кадр и каждый поток его наследуют, а не отвечают сами за себя, и ровно это проверяет страница, поднимая поток.
Посмотрите, что отвечает ваш профиль
Самопроверка идёт внутри профиля и показывает все 29 замеров, и зелёные, и красные.