Универсальные правила CLOUDFLARE, совместимость с АнтиБот.

Эта тема является продолжением и актуализацией темы про 3 правила настройки CloudFlare Firewall Rule , которой исполнилось почти 3 года. Но теперь можно задействовать всего 2 правила: одним разрешаем доступ, другим блокируем (выдаем капчу).

CloudFlare по прежнему важный сервис, который полезно применять на сайтах. Описанные тут правила работают и на бесплатном тарифе CloudFlare и подходят для большинства сайтов. Правила не конфликтуют с Антиботом, можно применять совместно.

Сначала включаем принудительный редирект http ➜ https, это в разделе: SSL/TLS ➜ Edge Certificates ➜ Always Use HTTPS.

Отключить IPv6 через API. Зачем и как отключить и почему не блокировать описано на этой странице.

В разделе Security ➜ WAF создаем правила. Располагаться они должны в таком же порядке, теперь их всего 2, чтобы на всякий случай остались еще запасные 3 правила (лимит бесплатного тарифа 5 правил):

1) Разрешаем доступ белым ботам. Кого CloudFlare считает белыми (cf.client.bot) указано тут .

Правило: (cf.client.bot) or (http.user_agent contains "Mail.RU_Bot")

Choose action: Skip.

Выглядеть в общем это будет так:

Через Or по аналогии с Mail.RU_Bot можно добавить и других белых ботов.

Важный момент, cf.client.bot это не строгая и гарантированная проверка бота, проверяется по сути только User-Agent, т.е. будут пропускаться и поддельные боты. Fake GoogleBot легко проходит с серверов Google Cloud, Fake YandexBot с серверов Yandex Cloud (это облачные VPS сервисы, которыми может воспользоваться любой). Антибот фейк ботов не пропускает, т.к. проверка идет строгая по цепочке ”IP➜PTR➜IP“.

Пример фейк ботов:

Но в Known Bots (cf.client.bot) большинство ботов не просто не нужные, а даже вредные и мусорные (AhrefsBot, PetalBot, SiteAuditBot и т.п.), которые приносят вред сайту или создают на нем бесполезную нагрузку. Потому правило можно сделать чисто с юзер-агентами конкретных нужных ботов:

(http.user_agent contains "Mail.RU_Bot") or (http.user_agent contains "Googlebot") or (http.user_agent contains "yandex.com") or (http.user_agent contains "bingbot") or (http.user_agent contains "Google-Site-Verification") or (http.user_agent contains "HostTracker")

Этот пример разрешает ботов Яндекса, Гугла, Мейла, Бинга, а также ботов Гугла проверяющих привязку сайта в Google Search Console и HostTracker.

2) Запрещаем доступ (выдается капча или JS проверка) всем, у кого:

  • Старый HTTP протокол (небраузерные на php парсеры, ддос-боты и прочие примитивные боты).
  • Посетителям (ботам) у которых низкий рейтинг по версии Cloudflare.
  • Закладочный трафик (у которых пустой реферер, часто так ходят поведенческие боты).
  • Посетителям, пришедшим по http а не https (потом они получат редирект на https).

Правило: (not http.request.version in {"HTTP/2" "HTTP/3" "SPDY/3.1"}) or (cf.threat_score ge 5) or (http.referer eq "") or (not ssl)

Choose action: Managed Challenge.

Выглядеть в общем это будет так:

Если вы хотели защититься с помощью Cloudflare от поведенческих ботов, которые идут с пустым реферером (прямые заходы) и делают отказы, портят статистику в Яндекс Метрике, то эти настройки не сильно помогут (а других настроек и возможностей в Cloudflare нет). Cloudflare таких ботов не считает ботами и статистика Яндекс Метрики улучшится незначительно, отстанут только самые нетерпеливые боты.

Совместим ли скрипт Антибот с Cloudflare?

Да, совместим, никаких дополнительных настроек не требуется. Но есть один нюанс, если в Cloudflare включен "Under Attack Mode", то он кэширует страницу на минуту или около того и может кэшировать страницу проверки или страницу блокировки скрипта Антибот. Если включаете "Under Attack Mode", то скрипт Антибот на это время можно отключить.

Если на Cloudflare стоят дополнительные проверки закладочного трафа для борьбы с поведенческими ботами (который без реферера) с принудительным показом им капчи, то в скрипте Антибот в 5 таблице есть смысл добавить DARK правило по рефереру, равному вашему домену. Т.к. после показа капчи в Cloudflare теряется первоначальный реферер и сервер (и Антибот) уже видит это как локальный переход.

Нужен ли сайту Cloudflare?

Если нет высокой вероятности, что сайт начнут ддосить, если нет надобности кэшировать статику (картинки) для снижения нагрузки на сервер, если сайт под рунет (клаудфлар создает некоторые тормоза для этого региона), то Cloudflare не нужен.


Информация обновлена: 24.12.2025 - 14:44.