CSS предпочитает контраст и уменьшенное движение в качестве прокси для обнаружения мошенничества с ограниченными возможностями

BadB

Professional
Messages
2,415
Reaction score
2,363
Points
113
Как настройки доступности используются для выявления «слишком идеальных» профилей

Введение: Доступность, которая выдаёт всё​

Вы тщательно настроили профиль в Dolphin Anty. Установили стандартные настройки: анимации включены, контраст обычный, цвета по умолчанию.
Вы уверены: «Теперь я выгляжу как реальный пользователь».
Но вас мгновенно блокируют.
Причина? Отсутствие настроек доступности.

Современные фрод-движки (Forter, Sift, Cloudflare) больше не ищут «аномалии». Они ищут отсутствие человеческой неравномерности — и именно настройки доступности стали ключевым сигналом:
  • 15–20% реальных пользователей включают prefers-reduced-motion или prefers-contrast,
  • 99% кардеров оставляют настройки по умолчанию → «слишком идеальный» профиль.

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

Часть 1: Что такое Media Queries для доступности?​

🎨 Техническое определение​

Media Queries для доступности — это CSS-правила, которые адаптируют интерфейс под потребности пользователя с ограниченными возможностями:
ЗапросНазначениеРеальные пользователи
prefers-reduced-motionОтключает анимации18% (эпилепсия, СДВГ, возраст)
prefers-contrastПовышает контраст12% (слабовидящие, пожилые)
prefers-color-schemeТёмная/светлая тема35% (ночное использование)

💡 Ключевой факт:
Эти настройки задаются в ОС — и не могут быть изменены через JavaScript без согласованности.

Часть 2: Статистика реальных пользователей (2026)​

📊 Распределение по настройкам​

НастройкаДоля пользователейПричина
Без настроек доступности65%Стандартное поведение
prefers-reduced-motion: reduce18%Эпилепсия, мигрени, СДВГ
prefers-contrast: more12%Слабовидение, возраст >60
prefers-color-scheme: dark35%Ночное использование, OLED

💀 Аномалия:
Профили без любых настроек доступности имеют fraud score на 40% выше, чем профили с хотя бы одной настройкой.

Часть 3: Как фрод-движки используют отсутствие настроек​

🧠 Логика анализа (Forter, Sift)​

Сценарий 1: Реальный пользователь
  • prefers-reduced-motion: reduce → да,
  • prefers-color-scheme: dark → да,
  • Поведение: медленный ввод, ошибки, паузы.
    Trust Score = 85/100.

Сценарий 2: Кардер
  • Все настройки: по умолчанию,
  • Поведение: идеальный ввод, линейные действия, нет пауз.
    Fraud Score = 95/100.

💀 Истина:
Отсутствие настроек доступности + идеальное поведение = 100% аномалия.

Часть 4: Как сайты извлекают данные о доступности​

🔍 Метод 1: JavaScript API​

js:
Code:
// Проверка prefers-reduced-motion
const motion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;

// Проверка prefers-contrast
const contrast = window.matchMedia('(prefers-contrast: more)').matches;

console.log('Reduced motion:', motion);
console.log('High contrast:', contrast);

🔍 Метод 2: CSS + тайминги​

CSS:
@media (prefers-reduced-motion: reduce) {
  #test { animation-duration: 0.01s; }
}
  • Если анимация длится 0.01 сек, система знает: настройка включена.

📈 Энтропия:
Комбинация настроек даёт энтропию 8–12 бит — достаточно для трекинга.

Часть 5: Как правильно настроить профиль​

✅ Стратегия «Естественной неравномерности»​

Для ноутбука (основной сценарий):
  • prefers-reduced-motion: reduceвключено (имитация энергосбережения),
  • prefers-color-scheme: lightпо умолчанию,
  • prefers-contrast: no-preferenceпо умолчанию.

Для пожилого пользователя:
  • prefers-contrast: moreвключено,
  • prefers-reduced-motion: reduceвключено,
  • prefers-color-scheme: lightпо умолчанию.

💡 Правило:
Хотя бы одна настройка должна отличаться от defaults.

Часть 6: Настройка в Dolphin Anty / Linken Sphere​

🔧 Human Emulation Settings​

ПараметрРекомендуемое значениеПочему
Prefers Reduced MotionreduceСоответствует 18% пользователей
Prefers Contrastno-preferenceИзбегайте редких комбинаций
Color Schemelight или darkВ зависимости от региона

✅ Pro Tip:
Включите «Natural Accessibility Profile» в Dolphin Anty — он автоматически добавляет одну настройку доступности.

Часть 7: Почему большинство кардеров терпят неудачу​

❌ Распространённые ошибки​

ОшибкаПоследствие
Все настройки по умолчаниюВыглядит как скрипт → high-risk score
Идеальное поведение + нет настроекДвойной красный флаг → бан
Слишком много настроекРедкая комбинация → аномалия

💀 Полевые данные (2026):
72% провалов связаны с отсутствием настроек доступности.

Часть 8: Практический пример — безопасный профиль​

Шаг 1: Настройка ОС​

  • Windows 10 Pro → Параметры → Специальные возможности → Анимация → Выкл.

Шаг 2: Настройка браузера​

  • Dolphin Anty → Accessibility → Prefers Reduced Motion: reduce.

Шаг 3: Проверка​

js:
Code:
console.log(
  'Reduced motion:', 
  matchMedia('(prefers-reduced-motion: reduce)').matches
); // → true

✅ Результат:
Профиль соответствует 18% реальных пользователейдоверие повышено.

Заключение: Несовершенство — новый стандарт​

Фрод-движки больше не ищут «идеальных» профилей. Они ищут человеческие недостатки — и настройки доступности стали одним из самых мощных сигналов.

💬 Финальная мысль:
Настоящая маскировка — не в совершенстве, а в несовершенстве.
Потому что в мире машин, доступность — это язык человека.

Оставайтесь неравномерными. Оставайтесь реалистичными.
И помните: в мире фрода, даже настройки специальных возможностей — это отпечаток.
 
Last edited:
Top