2.4.1.2.4. Захист від ботів

Примітки:

  • Перевірка не виконується для IP-адрес, які додані в білий список Firewall.
  • Якщо потрібного бота немає у списку, скористайтеся кнопкою «Запропонувати бота».

Деякі боти можуть створювати безглузде навантаження на сайт або сканувати його на наявність вразливостей. Для таких ботів доступ до сайту за замовчуванням блокується. Блокування виконується за User-Agent, заблоковані боти на всі запити отримують відповідь 403.

flowchart LR request@{ shape: stadium, label: "➡️ Запит" } whitelist@{ shape: rounded, label: "🧱 Режим
обмеженого
доступу" } blacklist@{ shape: rounded, label: "📋 Чорний
список IP" } firewall@{ shape: rounded, label: "🔥 Firewall" } subgraph bots [🤖 Боти] list@{ shape: diamond, label: "📋 Бот
є в списку?" } E[ ]:::empty classDef empty height: 0, width: 0 subgraph rules [Правила] allow@{ shape: rounded, label: "✔️ Завжди дозволяти" } ddos@{ shape: rounded, label: "🛡 Дозволити,
але обмежувати під час підвищеного навантаження" } deny@{ shape: rounded, label: "❌ Заборонити" } end end countries@{ shape: rounded, label: "🌎 Країни" } suspicious@{ shape: rounded, label: "🔍 Підозрілі IP" } iam@{ shape: rounded, label: "🛡️ I'm Under Attack" } site@{ shape: stadium, label: "✅ Сайт" } error_403@{ shape: stadium, label: "🚫 Помилка 403" } request-->whitelist request-->blacklist blacklist-->firewall whitelist-->firewall firewall-->list list---E-->|✅|rules allow-->site ddos-->countries deny-....->error_403 list-->|❌ або запит не від бота|countries countries-->suspicious suspicious-->iam iam-->site firewall-.->site

У ланцюжку всіх етапів захисту сайту захист від ботів йде після режиму обмеженого доступу, чорного списку IP і Firewall перед обмеженням доступу за країнами, перевіркою підозрілих IP і I'm Under Attack.

Налаштування виконується в розділі «Хостинг → Мої сайти → ваш сайтЗахист сайту» на вкладці «Боти»:

Для налаштування доступу використовуйте кнопки у стовпці «Правило»:

  • ✅ («Завжди дозволяти») — боту дозволено доступ до сайту. Виняток: IP-адреси, доступ для яких обмежено за допомогою чорного списку IP або режиму обмеженого доступу.
  • 🛡 («Блокувати під час підвищеного навантаження на сайт») — якщо бот підпадає під будь-яке правило, яке обмежує доступ (наприклад, обмеження доступу за країнами, I'm Under Attack), то доступ буде заборонено. Корисно використовувати, коли потрібно, щоб бот працював, але в разі перевищення навантаження та увімкнення захисту доступ для нього був заборонений і він отримував помилку 429.
  • ❌ («Блокувати») — бот отримуватиме помилку 403.

Для кожного бота відображається статистика за кількістю запитів за останні 3 дні:

  • Дозволено — запити з будь-якими відповідями, крім 403, 405, 429.
  • Заборонено — запити з відповідями 403, 405, 429. Наприклад, запити від ботів з явно заблокованим доступом або від ботів, які не пройшли захист. Також сюди входять запити, які успішно пройшли захист від ботів, але для яких такий код відповіді був повернутий іншими етапами захисту або самим сайтом (наприклад, правилами .htaccess).

Список ботів відображається в порядку зменшення загальної кількості запитів (суми дозволених і заборонених) — у верхній частині списку знаходяться боти з найбільшою кількістю запитів, у нижній — з найменшою. Це дозволяє швидко оцінити, від яких ботів надходить найбільше запитів і для яких із них може знадобитися обмеження доступу.

За замовчуванням у списку відображаються лише активні боти, за якими були запити протягом останніх місяців. Щоб переглянути повний список ботів, включаючи неактивні, вимкніть опцію «Приховати неактивних».

Кнопка «Застосувати правила до всіх сайтів» встановлює налаштування поточного сайту для всіх сайтів у цьому хостинг-акаунті. Використовуйте її, коли у вас багато сайтів і для всіх потрібно встановити однакові налаштування захисту від ботів.

Для скидання налаштувань у заголовку стовпчика «Правило» натисніть ↩️ («Відновити стандартні правила для всіх ботів»).

За допомогою кнопки «Підставляти правила у robots.txt» можна налаштувати, щоб у robots.txt вашого сайту автоматично додавалися правила, які будуть забороняти доступ заблокованим ботам (❌). Це дозволяє загалом зменшити кількість запитів від непотрібних ботів, а не лише блокувати їх.

Коли підстановка правил увімкнена, відбувається наступне:

  • При зверненні до файлу robots.txt на його початку додаються правила, що забороняють доступ до сайту для User-Agent заблокованих ботів (див. приклад нижче).
  • Зміни вносяться на льоту, вміст вихідного файлу не зачіпається.
  • Якщо файл robots.txt не існує, при зверненні до нього будуть повертатися тільки автоматично додані правила.

Будь-які зміни набувають чинності протягом кількох хвилин.

Приклад файлу robots.txt із доданими директивами:

# BEGIN adm.tools Managed content
User-agent: *
Allow: /
User-Agent: AhrefsBot
User-Agent: MJ12bot
User-Agent: DataForSeoBot
User-Agent: barkrowler
User-Agent: Bytespider
User-Agent: GPTBot
User-Agent: meta-externalagent
User-Agent: Baiduspider
User-Agent: meta-webindexer
User-Agent: AhrefsSiteAudit
Disallow: /
# END adm.tools Managed content
<вміст вашого файлу robots.txt>
Зміст

    (5)