Как боты прикидывались людьми с российских серверов и как я закрыл эту лазейку ⚡️
Сегодня выкатил на прод (traffflo.ru) большое обновление. Рассказываю простыми словами, что изменил под капотом и какую дичь успел отловить на своих же сайтах за первые часы после релиза
1. Вскрыл 77 хостингов, с которых боты гуляли как дом
Раньше в моей базе было всего 4 основных дата-центра, поэтому скрипты, запущенные с российских и европейских VPS (Selectel, Timeweb, FirstVDS, Aeza, Hostkey и еще 70+ площадок), спокойно проходили как обычные читатели
Я обновил базу подсетей — и только за первые 6 часов поймал десятки таких «гостей». Живые люди не сидят в интернете с серверов Селектела
2. Сниппет v4: палю кукловодов
Боты научились ставить себе идеальный User-Agent и даже двигать мышкой. Но новый скрипт теперь смотрит глубже: он видит прямые следы программ управления браузером (Selenium, Playwright, PhantomJS) и отсутствие нормальной отрисовки графики.
Даже если бот старательно имитирует человека — он получает черную метку. При этом тех, кто просто сидит с редких браузеров или виртуалок, я не трогаю — для бана нужно совпадение сразу нескольких признаков
3. Поймал распределенные атаки на свои же сайты
Научил Трафло связывать одиночные визиты в «Группы ботов». Если один и тот же слепок браузера лезет с разных IP и ни разу не ведет себя как человек — система склеивает это в единую атаку
Сразу же протестировал на своей сетке: на orbing.ru поймал сетку реферального спама, которая била одновременно из 9 стран, а на geekix.ru — пачку тихих «невидимых» перезаходов.
В кабинете это теперь лежит на самом видном месте во вкладке «Сигналы» с кнопкой «Показать визиты»
4. Сделал кнопку «Заблокировать всех
Многие просили не просто показывать ботов в отчетах, но и дать возможность их прихлопнуть. Сделано: теперь Трафло прямо в кабинете собирает готовые правила блокировки для Nginx, .htaccess и Cloudflare по найденным у вас ботам и хостингам.
Скопировали конфиг, вставили себе на сервер — и закрыли дверь. За SEO можно не переживать: настоящих роботов Яндекса и Google я в эти списки никогда не пускаю
5. Полная открытость и всего 1 ошибка на 8 453 человек
Я против «черных ящиков», которым нужно верить на слово. Поэтому открыл страницу traffflo.ru/methodology — выложил туда вообще все правила, веса и алгоритмы, по которым считаю роботность
Там же живая статистика точности: я прогнал по базе 8 453 гарантированно живых человека, и система ошиблась всего 1 раз (0,01%)
О чем скажу честно
Если против вас пустят дорогого замаскированного бота на реальном браузере, через домашние прокси и с эмуляцией мыши — прямо сейчас он получит статус «подозрительный» (40 баллов), а не «бот».
Но я уже начал собирать телеметрию траектории мыши (скрипты двигают курсор слишком равномерными шагами) и поднял у себя внутреннюю «Лабораторию ботов» на Chromium и WebKit, чтобы тренировать детектор на самых хитрых тварях
А еще плотно прошелся по мобильной версии кабинета: таблицы больше не рвутся, меню не уезжает за экран, а плашка куки ничего не перекрывает
Заглядывайте в свои кабинеты во вкладку «Сигналы» — там уже много интересного. И пишите в комменты, как вам генератор правил для сервера!
