Один із найефективніших способів відрізнити справжні краулери пошукових систем від самозванців - перевірка PTR-записів (зворотного DNS). Багато ботів намагаються замаскуватися, використовуючи легітимні рядки User-Agent, як-от Googlebot чи Bingbot. Однак вони майже ніколи не мають правильних PTR-записів, які підтримують справжні боти пошукових систем.
Що таке PTR-запис (зворотний DNS)?
PTR-запис зіставляє IP-адресу з доменним ім’ям. У контексті веббезпеки це називають зворотним DNS-запитом. Якщо звичайний DNS-запис перетворює доменне ім’я (наприклад, google.com) на IP-адресу, то PTR-запис робить навпаки: він показує, який домен пов’язаний з конкретною IP-адресою.
Приклад:
- Прямий DNS: googlebot.com → 66.249.66.1
- PTR (зворотний DNS): 66.249.66.1 → crawl-66-249-66-1.googlebot.com
Саме ця двостороння перевірка робить верифікацію через зворотний DNS надійною. Фейковий бот може за секунди скопіювати рядок User-Agent, але не може змінити, на який домен резолвиться його IP-адреса. Це зіставлення повністю контролює власник IP, а у випадку справжніх краулерів це завжди сама компанія пошукової системи. Google описує цей метод перевірки у власних офіційних настановах щодо верифікації Googlebot, а Bing дотримується схожого підходу, описаного в документації Microsoft щодо верифікації Bingbot.
Як BotBlocker використовує PTR для виявлення ботів
BotBlocker автоматично виконує PTR-перевірку щоразу, коли відвідувач заявляє, що він є краулером великої пошукової системи. Плагін перевіряє:
- Чи відповідає IP-адреса в запиті заявленому User-Agent (наприклад, що це Googlebot)
- Чи вказує запис зворотного DNS (PTR) для цієї IP-адреси на офіційний домен (наприклад, *.googlebot.com)
- Додатково - прямий DNS-запит, який переконується, що ім’я хоста вказує назад на ту саму IP-адресу, для додаткової надійності
Якщо якась із цих перевірок не проходить, відвідувача визнають фейковим ботом і блокують або показують йому виклик.
Процес верифікації повністю виконується на боці сервера й не потребує змін у коді вашого сайту. BotBlocker сам виконує DNS-запити, логує результати й застосовує налаштовану дію: жорстке блокування, перенаправлення чи CAPTCHA-виклик. Тобто власники сайтів отримують повний захист, не розбираючись у технічних деталях роботи DNS.
Чому PTR-перевірка важлива
Фейкові боти часто підробляють User-Agent, щоб сканувати сайт або атакувати його, не будучи виявленими простими правилами. Лише офіційні пошукові системи володіють потрібними діапазонами IP і підтримують валідні PTR-записи. Це робить фільтрацію на основі PTR одним із найнадійніших методів проти:
- Скраперів контенту
- Спам-ботів, які видають себе за пошукові системи
- Ботів, що намагаються обійти стандартні фільтри безпеки
За даними дослідження Cloudflare щодо бот-трафіку, значна частина автоматизованого трафіку в інтернеті - це боти, які видають себе за легітимні сервіси. Багато з них копіюють відомі рядки User-Agent саме тому, що базові інструменти безпеки перевіряють лише цей рядок і більше нічого. PTR-верифікація закриває цю прогалину, додаючи рівень, який неможливо підробити без контролю над реальною IP-інфраструктурою.
Як PTR-перевірки захищають ваш сайт
- Запобігають несанкціонованому доступу до цінного контенту, призначеного для пошукових систем
- Зменшують ризик SEO-отруєння та фейкової індексації
- Блокують зловмисників, які намагаються використати ідентичність пошукової системи як прикриття
Окрім захисту контенту, блокування фейкових краулерів зменшує й зайве навантаження на сервер. Коли бот-скрапер багаторазово відвідує ваші сторінки, видаючи себе за Googlebot, він споживає трафік і серверні ресурси так само, як справжній краулер. Раннє виявлення таких ботів через зворотний DNS означає менше марних запитів і нижчі витрати на хостинг із часом.
Обмеження та найкращі практики
- PTR-перевірки стосуються лише ботів, які заявляють, що є пошуковими системами (наприклад, Googlebot, Bingbot тощо)
- Не застосовуються до звичайних користувачів чи типових ботів
- Запити зворотного DNS можуть додавати невелику затримку, але лише для конкретних User-Agent, а не для кожного відвідувача
Також варто залишати PTR-верифікацію частиною ширшого комплексу заходів безпеки, а не покладатися лише на неї. Поєднання перевірок зворотного DNS з аналізом User-Agent, обмеженням частоти запитів і поведінковим виявленням дає значно сильніший результат, ніж будь-який метод окремо.
FAQ
Чи можна випадково заблокувати справжній Googlebot?
Майже ніколи. Google та інші справжні боти мають бездоганні PTR- і прямі DNS-записи.
Чи PTR-перевірка ввімкнена для всіх відвідувачів?
Ні, вона запускається лише для запитів із підозрілими рядками User-Agent, що імітують краулери пошукових систем.
Чи впливає це на швидкість сайту?
Ні, оскільки запити зворотного DNS рідкісні й оптимізовані в BotBlocker.
Які пошукові системи охоплює ця перевірка?
BotBlocker охоплює всі великі краулери, які публікують свої діапазони IP і DNS-записи, зокрема Google, Bing, Яндекс та кілька інших. Будь-який бот, що заявляє, що він є одним із цих сервісів, проходить ту саму логіку верифікації.
