Глоссарий
navigator.webdriver
navigator.webdriver это свойство страницы, по которому видно, что браузером правит не человек, а программа.
Почему одно показание весит больше прочих
Отпечаток это довод, собранный из многих ответов. Здесь довода нет вовсе: браузер прямо отвечает на вопрос о самом себе.
Чтение не стоит сайту ничего
Одно свойство, без окна с вопросом, и ответ приходит раньше, чем страница дочитана.
Дело тут не в редкости
Остальные показания говорят, насколько вы необычны. Это говорит, сидит ли за клавиатурой человек.
Оно никогда не идёт одно
Сборка без окна называет себя в строке о себе и часто отдаёт пустой список плагинов, поэтому все три читают вместе.
Ваш браузер прямо сейчас
Значения прочитаны в вашем браузере на этой странице и никуда не уходят. Первая строка это то, что проверка на робота спрашивает раньше всего.
Ваша машина прямо сейчас
- navigator.webdriver
- измеряем на вашей машине
- Плагинов в списке
- измеряем на вашей машине
- Имя браузера о себе
- измеряем на вашей машине
Прочитано в вашем браузере и показано здесь. Никуда не отправляется.
Что поднимает это значение
Браузер поднимает его сам, когда открыт знакомый ему канал управления. Со страницы его не поднять и не опустить.
- 1
Подключился драйвер
Привычный случай: браузером завладело средство испытаний, и браузер об этом говорит.
- 2
Открыт отладочный порт
Хватает самого открытого порта, даже пока к нему никто не подключился.
- 3
Запущена сборка без окна
Работа без окна вдобавок переименовывает браузер в строке о себе, и в новом режиме тоже.
Что делает ARMANOS Browser
Управление идёт по каналу, привязанному к вашей же машине: по нему сценарий и синхронизатор ведут профиль. Пока канал открыт, страница всё равно читает «нет»: за это отвечает ключ в строке запуска.
На приёмке сборки, которая едет сегодня, значение вернулось отрицательным, а свойство за ним по-прежнему читалось как часть браузера, а не как страничный код.
Значение читают с настоящей страницы
Проверка запускает движок теми же доводами, какими его запускает программа, и спрашивает страницу, а не строку запуска.
falseСвойство читается как родное
Самопроверка печатает то, что стоит за свойством, а страничный код так ответить не может.
native codeВ имени браузера нет пометки
Строка, которой браузер называет себя, не называет сборки без окна.
нет пометки
Неумелая подмена сама становится приметой
Значение переписывается со страницы, и переписывание оставляет след. Свойство перестаёт читаться как родное, а тот же вопрос в кадре или в фоновом потоке возвращает нетронутый ответ.
Код свойства выдаёт подмену
Напечатайте свойство за значением: у написанного рукой виден свой код, у браузера не видно никакого.
Спрашивают и другие миры
У кадра и у фонового потока свой набор свойств браузера, и страница вправе спросить любой из них.
Удаление хуже ответа
Браузер без этого свойства встречается реже отвечающего, поэтому удаление притягивает то самое внимание, от которого спасало.
Как проверить свой
Панель выше отвечает за браузер, в котором вы это читаете. Внутри программы автопроверка отпечатка (меню профиля > Проверить отпечаток) идёт в профиле и против того движка, который этот профиль запустил.
Она спрашивает и значение, и то, что стоит за свойством, на странице, которую открыл профиль. Кадр и фоновый поток она спрашивает отдельно, и там сверяется машина, которой профиль себя называет.
Чего это не делает
- Это не прячет ритм сценария. Ровные паузы, одинаковые пути и сессия без единого промедления выдают машину задолго до того, как дело дойдёт до этого показания.
- Это не закрывает канал, который нужен автоматизации. Всё, что работает на той же машине, видит открытый канал в строке запуска.
- Это не отвечает за браузер, который программа не запускала. Панель выше читает ваш обычный браузер, а профиль отвечает только внутри программы.
- Это не разрывает связь между аккаунтами. Репутация адреса и история аккаунта закрывают их чаще, чем любое отдельное показание.
Проверить
Каждое утверждение выше взято из файла, который можно открыть.
- Значение читают с настоящей страницы после настоящего запуска
- apps/desktop/test/webdriver-flag.js
- Где собирается строка запуска
- apps/desktop/src/lib/forkEngine.js
- Автопроверка отпечатка спрашивает и значение, и его исходник
- apps/desktop/src/lib/fpAudit.js
- Один профиль, открытый с окном и без окна, сверяется по полям
- apps/desktop/test/скрытый-режим-живьём.js
- Приёмка сборки, которая едет сегодня
- engine/приёмка-отчёт.json
Вопросы
- Опознаёт ли это значение меня?
- Нет. Оно одинаково почти во всех браузерах мира и никого ни от кого не отделяет. Сайту оно нужно, чтобы отбросить сессию раньше, чем взвешено хоть одно другое показание.
- Можно ли выставить его из консоли?
- Можно, и тогда за свойством будет видно то, что вы набрали. Проверка это печатает, поэтому подставленный ответ отличается от ответа самого браузера.
- Читает ли его бесплатная проверка на сайте?
- Панель выше читает. Проверка отпечатка берёт то, что расходится от машины к машине, а это показание почти везде одинаково.
- Отвечает ли профиль без окна иначе?
- Не должен, и это мы проверяем: один профиль открывают обоими способами, а полученные машины сверяют по полям вплоть до рисунка. Имя браузера читают тем же заходом и смотрят, нет ли в нём пометки о работе без окна.
- Зачем вообще держать канал управления открытым?
- По нему сценарии и синхронизатор ведут настоящий профиль. Канал остаётся на вашей машине, и странице браузер о нём не сообщает.
Рядом с этим
Объект window.chrome
Показание, которое проверка берёт следом за этим.
Список плагинов
Перечень, который автоматическая сборка чаще всего оставляет пустым.
Чем выдаёт себя автоматизация
Часть, которую ни одна настройка браузера за вас не закроет.
Автоматизация без кода
Шаги идут внутри профиля, а не рядом с ним.
Посмотрите, что ответит ваш профиль
Самопроверка идёт внутри профиля и показывает до 37 замеров, и зелёные, и красные.