Боты составляют большую долю веб-трафика, и не весь он плохой. Цель не в том, чтобы блокировать всё автоматизированное — а в том, чтобы отфильтровать вредный трафик, пропуская реальных пользователей и хороших ботов. Вот многоуровневый подход.
Слой 1: сетевые сигналы (дёшево, трудно подделать)
Начните с соединения. Сетевые фингерпринты (JA4/JA4H/JA4T/QUIC) показывают, совпадает ли стек TLS/HTTP клиента с реальным браузером, даже когда User-Agent врёт. IP-аналитика (дата-центровый ASN, флаги прокси/VPN) добавляет контекст. См. JA4 простыми словами.
Слой 2: признаки автоматизации
navigator.webdriver, артефакты CDP, отсутствие браузерной энтропии и особенности headless дёшево ловят готовую автоматизацию.
Слой 3: поведение
Динамика мыши/клавиатуры, тайминги и энтропия взаимодействия отделяют людей от скриптов — полезно для автоматизации, прошедшей слои 1–2.
Слой 4: репутация и velocity
Отслеживайте историю фингерпринта/IP/ASN: фингерпринт на множестве IP за минуты или ASN, насыщенный злоупотреблениями, повышают риск. Это ловит распределённые атаки, которые любой отдельный запрос прошёл бы.
Сведите в одну объяснимую оценку
Ни один слой не решает всё. Суммируйте сигналы в оценку с рекомендуемым действием — пропустить, челлендж, блок — и настраивайте порог под маршрут. detectip.ai делает именно это и показывает, какие сигналы сработали, чтобы вы могли обосновать каждое решение. См. живое демо.
Не наказывайте хороших ботов
Проверяйте заявленных краулеров (поисковики), чтобы не блокировать нужный трафик. Где возможно, применяйте ограничение скорости к неизвестной автоматизации вместо жёстких блоков.
FAQ
Нужны ли CAPTCHA? Часто нет — см. детекцию ботов без CAPTCHA.
С чего начать? Сначала добавьте сетевой фингерпринтинг + IP-аналитику; это слой с наибольшим рычагом. Получите бесплатный ключ.