Раздел 1: Почему боты атакуют виджеты примерки
Виджеты виртуальной примерки являются привлекательной целью для ботов, так как они обеспечивают бесплатную генерацию ИИ-изображений. Эндпоинт примерки принимает фотографию и изображение товара, возвращая результат композиции ИИ — с точки зрения бота это бесплатный публичный API генерации. Автоматизированные скрипты могут обращаться к эндпоинту тысячи раз в час для создания изображений товаров или синтетических данных для обучения нейросетей с нулевыми затратами для злоумышленника и полной тратой вашего лимита.
Экономический стимул значителен: качественный API генерации ИИ-изображений обычно стоит $0.05–0.20 за картинку. Эндпоинт без защиты фактически предлагает этот сервис бесплатно любому, кто разберет формат запроса. В масштабе одна кампания ботов может исчерпать месячную квоту продавца за считанные часы, оставив реальных покупателей без сервиса до конца расчетного периода.
Раздел 2: Пятиуровневый стек защиты Photta
Photta развертывает пять независимых защит. Уровень 1 — hCaptcha: каждый запрос должен содержать валидный токен hCaptcha, созданный в браузере. Headless-боты и HTTP-клиенты не могут решить hCaptcha без участия человека. Уровень 2 — фингерпринтинг BotD: SDK запускает BotScore от FingerprintJS для обнаружения браузеров без интерфейса, фреймворков автоматизации (Puppeteer, Playwright) и подозрительных сред еще до отправки фото.
Уровень 3 — Белый список доменов: ваш ключ pk_live_ принимает запросы только с доменов, указанных в Настройках. Запросы с любых других источников немедленно получают ошибку HTTP 403. Уровень 4 — Лимиты IP-запросов: более 10 запросов в минуту с одного IP включают ограничение скорости, более 30 — временную блокировку. Уровень 5 — Месячный лимит: ограничение вашего тарифа (500/2 000/10 000) жестко контролируется на стороне сервера. Исчерпание лимита останавливает все примерки, предотвращая неконтролируемые расходы.
Раздел 3: Мониторинг попыток ботов в панели управления
Войдите в business.photta.app и перейдите в раздел «Безопасность». Там отображаются три графика в реальном времени: «Заблокированные попытки», «Причины блокировки» (ошибки hCaptcha, детекция BotD, несоответствие домена или превышение лимитов) и «Топ заблокированных IP». У здорового магазина количество блокировок в обычное время близко к нулю.
Панель также включает раздел «Оповещения об аномалиях». Аналитический уровень Photta отслеживает резкие скачки объема примерок, отклоняющиеся более чем на три стандартных отклонения от вашего среднего показателя за 7 дней. При обнаружении аномалии вы получите письмо в течение 15 минут. Пороги уведомлений настраиваются в разделе Настройки → Уведомления → Оповещения о безопасности.
Раздел 4: Реагирование на подозрительную активность
Если вы видите подозрительные паттерны — всплеск блокировок или резкое падение квоты — выполните следующие действия. Сначала проверьте список «Топ заблокированных IP». Если на несколько адресов приходится большинство атак, нажмите «Заблокировать IP» рядом с каждым из них для перманентного бана на уровне Photta. Блокировка вступает в силу немедленно.
Во-вторых, если атака распределенная (ботнет), свяжитесь с поддержкой Photta через чат, указав ID продавца и время атаки. Команда безопасности Photta может применить блокировку на уровне подсети CIDR в течение нескольких часов. В-третьих, если ваша квота была истощена ботами, откройте тикет — Photta предлагает разовое восстановление квоты для задокументированных атак. Приложите скриншот оповещения об аномалии в качестве доказательства.
Раздел 5: Когда стоит добавить кастомную CAPTCHA
Встроенная hCaptcha в Photta работает незаметно — реальные покупатели почти никогда не видят проверку. В редких случаях (очень популярные магазины), если злоумышленник использует фермы для решения CAPTCHA, может потребоваться второй уровень на вашей стороне перед вызовом photta.open(). Проверьте вашу CAPTCHA на своем сервере и передайте токен в SDK Photta через photta.open({ verificationToken: 'ваш_токен' }).
Кастомная CAPTCHA — это крайняя мера. Для подавляющего большинства продавцов пятиуровневый стек Photta обеспечивает достаточную защиту без трения для покупателей. Прежде чем добавлять слой, проверьте причины блокировок: если ошибки hCaptcha составляют менее 1% от всех блокировок, защита работает эффективно, и лишний слой лишь усложнит жизнь пользователям.
