Какие есть способы определения подмены параметров браузером?

R3
На сайте с 09.01.2014
Offline
71
653
Как с помощью JavaScript можно определить, что браузер пытается подменить параметры устройства? Не обязательно обнаружить реальные значение, а просто факт подмены.

Есть антидетект-браузеры, которые подменяют различные параметры, отправляя сайту отличные от фактического, значения, если сайт запрашивает их с помощью Javascript либо HTTP-заголовков:

  • Screen Resolution
  • Набор шрифтов
  • Основной язык и список поддерживаемых языков
  • Часовой пояс
  • Количество ядер процессора
  • Объем оперативной памяти
  • Название видеокарты
  • Количество медиа девайсов (камера, микрофон, наушники)
  • Формат даты на устройстве
  • Speech Voices
  • Поддерживаемые аудио форматы
  • Canvas Fingerprint
  • WebGL Fingerprint
  • Audio Fingerprint
  • DOMRect Fingerprint

Какие есть способы определить факт подмены?

В одной из статей нашёл информацию, что браузер может производить подмену разными способами:

Привожу цитату:

"переписать эти функции в исходном коде браузера, до его компиляции. Это самый надежный и самый сложно определяемый способ.
- заинжектиться в работающий процесс вкладки и перехватывать обращения к нужным функциям в реальном времени. Технически сложно, т.к. смещения и адреса функций плывут с каждым обновлением браузера.
- перезаписать нужные нам значения прямо на странице через javascript же, после инициализации страницы, которую мы просматриваем. Самый простой в реализации, но самый отвратительный способ, т.к. сделать это незаметно действительно сложно. Как я покажу дальше, почти все антидетект-браузеры выбрали этот путь, чем подставили своих пользователей."

Вопрос, можно ли проверить, какой способ подмены используется в браузере.

И какие именно методы определения подмен существуют? Например, в статье было указано про Object.keys(Object.getOwnPropertyDescriptors(navigator)) для неумелого переопределения свойств Navigator.

Также можно обнаружить использование эмулированной среды, эта информация тоже была в статьях.

Статьи:

Буду благодарен конкретным методам определения подмены.


SeVlad
На сайте с 03.11.2008
Offline
1609
#1
revenge303 :
Как с помощью JavaScript можно определить, что браузер пытается подменить параметры устройства?

С пом js - никак. Js не имеет выхода за пределы браузера, а значит будет использовать только то, что сообщит ему браузер.

А особенно  когда речь про компиляцию ПО (браузера).


Причём тут Сайтостроение -> Статистика и аналитика ?

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
C
На сайте с 28.04.2022
Offline
16
#2
С FP попробуйте дважды запросить и сравнить полученные значения. Не знаю как сейчас, но раньше анон-браузеры отдавали рандом при каждом запросе.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий