Перейти к содержимому

GeoIP + язык: фильтрация по несоответствию страны и языка в BotBlocker

Боты часто подделывают язык или страну браузера, чтобы выглядеть «реальнее». В BotBlocker есть продвинутая, но необязательная функция: фильтрация по несоответствию языка и страны (GeoIP Language mismatch).

Как работает фильтр GeoIP Language mismatch

При включении этой опции BotBlocker сравнивает два параметра каждого посетителя:

  • Accept-Language из браузера
  • Страну, определённую по IP (GeoIP)

Если язык браузера не соответствует стране и не входит в список распространённых языков этой страны, посетитель попадает под фильтр. Например, IP из Италии и единственный язык японский.

Как читается заголовок Accept-Language

Браузер присылает список языков в порядке предпочтения: de-CH,de;q=0.9,en;q=0.8. Первый язык считается основным, параметр q задаёт вес остальных.

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

Список языков можно изменить в настройках браузера, поэтому сам по себе он не доказывает, что перед вами бот. Фильтр даёт повод присмотреться, а не приговор.

Откуда берётся страна

Страну даёт база GeoIP по IP-адресу. У локальных адресов (10.0.0.0/8, 192.168.0.0/16) страны нет, такие запросы фильтр не трогает.

Если сайт стоит за CDN или обратным прокси, проверьте, что страна считается по IP посетителя, а не по адресу прокси. Иначе весь трафик выглядит как одна страна и проверка теряет смысл.

Учёт многоязычных стран

В некоторых странах официально или массово используются сразу несколько языков:

  • Швейцария: немецкий, французский, итальянский
  • Канада: английский, французский
  • Бельгия: французский, фламандский, немецкий

BotBlocker опирается на справочник языков по странам, чтобы снизить риск ложных срабатываний. Для каждой страны в нём задан набор допустимых языков, а не один.

Ложные срабатывания

Фильтр ошибается там, где язык и страна расходятся по делу:

  • посетитель сидит через VPN или корпоративный прокси другой страны;
  • экспат или турист держит браузер на родном языке;
  • человек вручную выставил язык в настройках браузера;
  • компания выдаёт сотрудникам технику с одним языком на все офисы.

Поэтому на международном проекте фильтр не включают по умолчанию. Сначала его проверяют в режиме логирования.

Когда и для кого актуальна эта функция

Этот фильтр подходит опытным администраторам:

  • Проекты с локальной аудиторией, где язык почти всегда совпадает с регионом.
  • Магазины, туристические сервисы и международные СМИ: здесь фильтр может ошибочно задевать реальных пользователей.

В настройках можно выбрать реакцию: блокировать, показать капчу или только логировать событие.

Как включить фильтрацию GeoIP + язык

  1. Откройте настройки BotBlocker
  2. Найдите пункт GeoIP Language mismatch
  3. Выберите реакцию: лог, капча или блокировка
  4. Включите фильтр
  5. Сохраните настройки

Что смотреть в журнале

Включите логирование на день или два и посмотрите, кого фильтр пометил. Если среди них есть живые клиенты, добавьте язык в список для страны или переведите реакцию на капчу.

Отдельно проверьте посетителей из стран, где много приезжих: ОАЭ, Сингапур, курортные регионы. Там несовпадение языка и страны встречается чаще.

FAQ

Может ли фильтр зацепить туристов или экспатов?
Да, при строгих настройках они могут получить капчу или попасть в лог. Перед включением убедитесь, что это не помешает вашим клиентам.

Можно ли использовать для многоязычных сайтов?
Возможно, но добавьте дополнительные языки в список допустимых для конкретных стран.

Влияет ли на скорость сайта?
Проверка быстрая, не даёт заметной нагрузки.

Что делать, если реальный клиент попал под фильтр?
Проверьте его язык и страну. Если пара нетипичная, добавьте язык в разрешённые для этой страны или оставьте капчу вместо блокировки.

Нужен ли отдельный GeoIP-сервис?
Нет. Страна определяется по базе GeoIP, которая идёт вместе с проверками.

Базовая фильтрация ботов

Список возможностей BotBlocker

Работа с CloudFlare

Антидетект  браузеры