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

PTR (Reverse DNS): как BotBlocker определяет фейковых ботов по обратной DNS

Самый надёжный способ отличить настоящего поискового робота от подделки, проверить PTR-запись (обратную DNS). Многие боты выдают себя за Googlebot или Bingbot через User-Agent, но не имеют настоящих обратных DNS-записей, как у официальных поисковых систем.

Что такое PTR (Reverse DNS)?

PTR-запись, это DNS-запись, которая связывает IP-адрес с доменным именем. Обычно домен переводится в IP (прямая DNS), а PTR, наоборот: IP-адрес переводится в домен.

Пример:

  • Прямая DNS: googlebot.com → 66.249.66.1
  • Обратная DNS (PTR): 66.249.66.1 → crawl-66-249-66-1.googlebot.com

Этот механизм описан в стандарте IANA DNS Parameters и входит в базовую инфраструктуру интернета. Обратный DNS используют и в проверке ботов, и в защите электронной почты, антиспам-фильтрах и сетевых инструментах.

Как BotBlocker использует PTR для проверки ботов

BotBlocker запускает PTR-проверку каждый раз, когда встречает User-Agent популярных поисковых систем. Алгоритм:

  • Сравнивает IP-адрес запроса и User-Agent (например, Googlebot)
  • Выполняет обратный DNS-запрос (PTR), IP должен указывать на домен поисковой системы (*.googlebot.com)
  • При необходимости выполняет прямую проверку: домен из PTR снова переводится в IP и сравнивается с исходным адресом

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

Именно такой подход рекомендует сам Google для проверки подлинности своих роботов. Компания официально публикует инструкцию по верификации Googlebot через обратный DNS на странице Google Search Central. Это подтверждает, что PTR-проверка давно стала стандартным и признанным методом проверки адресов. Метод работает и у BotBlocker.

Почему PTR-проверка эффективна

Фейковые боты часто подделывают User-Agent, чтобы незаметно сканировать или атаковать сайт. Только настоящие поисковые системы имеют соответствующие диапазоны IP и поддерживают корректные PTR-записи. Это делает PTR одним из самых точных способов отсечь:

  • Парсеров контента
  • Спам-ботов под видом поисковиков
  • Ботов, обходящих стандартные фильтры

User-Agent можно подменить за несколько секунд, это не требует никаких технических ресурсов. Настроить же корректную обратную DNS-запись для чужого IP-диапазона невозможно без доступа к инфраструктуре самой поисковой системы. Именно поэтому проверка через PTR закрывает лазейку, которую не перекрывают другие методы фильтрации.

Как PTR-защита работает на практике

На практике это особенно важно для сайтов с большим объёмом контента: интернет-магазинов, новостных порталов, образовательных платформ. Когда боты массово обходят страницы под видом поисковых роботов, они создают лишнюю нагрузку на сервер и искажают статистику посещаемости. Блокировка на уровне обратного DNS позволяет отсеивать такой трафик ещё до того, как запрос доходит до основной логики сайта.

Ограничения и особенности

  • Проверка PTR актуальна только для User-Agent поисковых роботов
  • Для обычных пользователей и типовых ботов не применяется
  • Обратный DNS-запрос может добавить небольшую задержку, но только для подозрительных User-Agent

Также стоит учитывать, что сами поисковые системы регулярно обновляют свои IP-диапазоны. BotBlocker отслеживает актуальные данные и сверяет их при каждой проверке, поэтому легитимные роботы не блокируются даже при смене адресов. Для владельца сайта это означает, что система работает без ручного обслуживания, не нужно вручную вносить новые диапазоны или следить за обновлениями.

FAQ

Может ли быть заблокирован настоящий Googlebot?
Практически невозможно. Официальные поисковые роботы всегда поддерживают корректные PTR и прямые DNS-записи.

PTR проверяется у всех посетителей?
Нет, только если User-Agent заявляет, что это поисковый робот.

Влияет ли это на скорость сайта?
Нет, проверки выполняются только при необходимости и оптимизированы в BotBlocker.

Что происходит, если бот не прошёл проверку?
BotBlocker блокирует запрос. Реальный поисковый робот такую проверку проходит автоматически, поэтому индексация сайта не пострадает.

Проверка идёт до загрузки контента, поэтому лишние запросы не доходят до PHP.

Аномалии PTR