🚀 Мои услуги
Header Image
пр. Мира 620000 Россия +7900-000-00-00
Логотип блога интернет-бродяги

Защита от плохих ботов: 2 способа

Защита от плохих ботов на уровне сервера
Просмотры: 249

Привет, веб-воин! 🛡️ Твой сайт — это твоя крепость, а плохие боты — это орды варваров у ворот, жаждущих украсть твой контент, сожрать трафик и оставить после себя только ошибки 500. Но не переживай! Сегодня мы разберём два способа защиты от плохих ботов: для скромных обитателей шаред-хостингов и для повелителей своих серверов.

Способ 1. PHP + Плагины: Защита для бедных (но гордых) 🧙‍♂️

Для кого: Если твой хостинг даёт тебе доступ только к functions.php, а о конфигах Nginx ты только мечтаешь.

Шаг 1. Код в functions.php — наш «кирпичный забор»

Вставь этот код в тему (желательно в дочернюю, чтобы не потерять при обновлении):

Что делает:

  • Ловит ботов по User-Agent.
  • Пишет их в лог (чтобы ты знал, кто пытался вломиться).
  • Выдаёт 403 — как подзатыльник непрошеному гостю.

Шаг 2. Плагин-помощник: Blackhole for Bad Bots

Установи этот плагин — он добавит «чёрную дыру» для ботов. Любой запрос с подозрительным User-Agent будет падать в никуда.

👉 Минус: Плагины — это как костыли. Работает, но не идеально.

Способ 2. Nginx: Банхаммер для админов 🏴‍☠️

Для кого: Если у тебя есть доступ к серверу и ты не боишься конфигов.

Шаг 1. Редактируем конфиг Nginx

Открываем терминал и вводим:

Добавляем блокировку для плохих ботов в начало блока server {…}:

А также такие строки:

И вот это:

Теперь откроем основной конфиг сервера:

Добавим такие строки:

Проверяем и перезагружаем:

Иногда Nginx ругается на if. Тогда добавляем в конфиг сайта «антибот-фильтр»:

Проверяем и перезагружаем:

🔥 Что даёт:

  • Блокировка на уровне сервера — боты даже не доходят до PHP.
  • Скорость: Nginx отрабатывает быстрее, чем WordPress.
  • Гибкость: Можно добавить свои правила (например, для соцсетей).

Можно добавить простое логирование в functions.php (чтобы мониторить атаки):

Как проверить, что защита работает? 🕵️‍♂️

Защита от плохих ботов на сервере

1. Тест через curl:

→ Должен вернуть **403**.

2. Проверка логов:
— Для PHP: смотри bot-log.txt в корне сайта.
— Для Nginx:

При вводе команды, вывод в терминале будет выглядеть примерно так (если защита от ботов работает):

Как читать эти строки?

  • 123.45.67.89 — IP злоумышленника/бота.
  • [23/Jun/2025:14:30:15 +0300] — дата и время запроса.
  • GET /image.jpg HTTP/1.1 — что запрашивали.
  • 403 — код ошибки (доступ запрещён).
  • «EvilBot/1.0» — User-Agent, который мы заблокировали.

Что должно насторожить?

  1. Много запросов с одного IP — возможно, DDoS или сканирование уязвимостей.
  2. Знакомые User-Agent (например, Googlebot), но с кодом 403 — значит, случайно заблокировали хорошего бота.

Как проверить работу защиты?
Сымитируй бота:

В логах сразу появится новая строка с 403. Для остановки просмотра логов нажми Ctrl+C.

(P.S. Если вывод пустой — либо боты не атакуют, либо защита не настроена. Проверь конфиг Nginx!) 😼

3. Шеринг в соцсетях:
Проверь, открываются ли превью в Facebook/VK. Если да — значит, хорошие боты не заблокированы.

Как ещё проверить работу защиты? В терминале введите:

Дополнительные улучшения:
Настройте кеширование (уменьшит нагрузку на PHP):

Логирование limit_req:

Оптимизируйте PHP-FPM:

После всех изменений ваш сервер будет:
✅ Корректно ограничивать запросы.
✅ Возвращать 429 вместо 503 при перегрузке.
✅ Логировать все блокировки.

Как не забить диск логами? 📦

1. Для PHP:
Настрой logrotate (если есть доступ):

Добавь:

2. Для Nginx:
Логи и так ротируются, но можно настроить их очистку:

Убедись, что есть строки:

Вывод: Какой способ лучше?

  • Шаред-хостинг? PHP + плагин (но это «костыль»).
  • Свой сервер? Nginx — это «бронедверь» против ботов.

💡 Совет: Если можешь — используй оба метода (Nginx + логирование в PHP). Так ты получишь максимум защиты и сможешь анализировать атаки.

P.S. Если после этих настроек боты всё ещё лезут — значит, они прочитали эту статью и нашли лазейку. 😈 Будь готов к апгрейду!

Если материал оказался полезен и помог решить проблему, можете поддержать автора, направив камеру смартфона на QR-код.
QR-Сбер

Оцените статью:

Рейтинг: 5.0 (Голосов: 1)

Почитайте похожие материалы

Об авторе: Hobo

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

2 Comments

  1. Елена:

    Спасибо за материал, было полезно узнать про защиту от плохих ботов. Попробую внедрить на своем сайте.

    1. Конечно, попробуйте. Лишним точно не будет!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

SQL - 72 | 0,083 сек. | 7.83 МБ