BotBan

Новости проекта

Режим «Под атакой», страны аудитории и счёт пройденных проверок

Две настройки на случай атаки, которыми управляете вы сами, и одна цифра, которой нам давно не хватало: сколько посетителей проверку браузера действительно прошли.

На прошлой неделе на одном из подключённых магазинов атака за ночь утроилась: 21 тысяча запросов в час, и почти половина из них — с заголовками настоящего браузера, по одному запросу с адреса, через домашние прокси по всему миру. Против такого запроса у движка один довод: «эту строку браузера сегодня принесли тысячи адресов». Одного довода для проверки мало, и поднять его вес нельзя — ровно так же выглядит живой человек с самым популярным браузером.

Зато владелец сайта знает то, чего не знаем мы: покупатели у него в России, а не в Бразилии. Отсюда две новые настройки.

Страны аудитории

На странице «Защита», в ручных настройках, появился блок «Аудитория сайта». Перечислите страны, где живут ваши посетители, — кнопка «Добавить Россию и СНГ» заполнит список за вас. Посетителю из любой другой страны проверка браузера назначается с меньшего балла: по умолчанию с 20 вместо 40.

Правило умеет только проверку. Заблокировать по нему нельзя, чистому посетителю оно ничего не делает — нужен хотя бы один довод, — а настоящий браузер проходит проверку сам за секунду. Срабатывает оно только на переходе на страницу: корзина и формы у того, кто уже на сайте, не проверяются.

Под атакой

Карточка «Под атакой» там же, сверху. Одной кнопкой на 1, 3, 12 или 24 часа проверку браузера получают все новые посетители — или только посетители не из стран аудитории, если страны указаны. Программа без браузера проверку не проходит вовсе, поэтому волна останавливается сразу. Сервер это тоже чувствует: страница проверки стоит ему в десятки раз дешевле обычной.

Режим выключается сам, когда выйдет срок. Поисковые роботы, мониторинги, ваши белые списки и запросы с сервера самого сайта он не затрагивает. Прошедшего проверку модуль запоминает на сутки.

Сколько проверок пройдено

Раньше мы не могли честно ответить на вопрос «а люди вашу проверку проходят?». Посетителя, прошедшего проверку, модуль узнаёт по cookie и больше нас о нём не спрашивает — в журнале визитов он ничем не отличался от бота, который получил проверку и ушёл.

Модуль 1.4.3 считает это сам: сколько раз показал страницу проверки и сколько раз её прошли. На дашборде появилась карточка «Проверка браузера» с тремя числами. Программы проверку не проходят, поэтому при атаке доля прошедших — единицы процентов; если она выросла, значит, под проверку попадают люди, и стоит заглянуть в журнал. Модуль обновится сам.

Что изменилось внутри

Новые признаки движка теперь сначала работают «в тени»: считаются на каждом визите, пишутся рядом с настоящим решением, но на него не влияют. Отчёт показывает, кого признак задел бы, — и сколько из них потом оказались настоящим браузером. Пока это число не ноль, признак не включается. Сейчас в тени три признака, нацеленных как раз на запросы «под настоящий браузер»; какие именно — не рассказываем, чтобы не подсказывать тем, против кого они сделаны.

Ещё модуль 1.4.3 начал передавать имена заголовков запроса — только имена, без значений, без cookie и авторизации. В решении это пока не участвует: сначала копим наблюдения. Полный список того, что модуль передаёт, — в статье «Какие данные обрабатывает модуль и как это оформить».