Как можно запретить пользователям доступ к моему веб-сайту?
Я смотрю на использование mod_evasive и / или mod_throttle для предотвращения неправомерного доступа к моему веб-сайту (работает Apache 2.4). Под "оскорбительным" я подразумеваю, например, использование wget или HTTtrack для загрузки всего веб-сайта. И mod_evasive, и mod_throttle имеют способы ограничить количество обращений к странице, которые пользователь может сделать за единицу времени. Так, например, я могу ограничить IP-адрес до 5 страниц каждые 10 минут или что-то в этом роде.
Однако я бы хотел, чтобы поисковые роботы превышали лимит.
Итак, кажется, есть два варианта:
(1) Я могу как-то подать страницы индивидуально для поисковых систем. Итак, я блокирую роботов с сайта, но просто отправляю им страницы явно при каждом обновлении страницы (могу ли я это сделать?).
(2) Каким-то образом заносить определенные роботы в белый список. Проблема в том, что я не буду знать IP-адрес робота заранее.
Какой подход следует использовать?
1 ответ
Белый список не обязательно должен быть основан на IP. mod_qos может выполнять сопоставление на основе пользовательского агента.
Это не помешает никому притворяться гуглботом, но замедлит людей, которые не меняют его с wget.
Если загрузка все еще кажется чрезмерной, попробуйте обнаружить поддельные пользовательские агенты с анализом ваших журналов запросов. Используйте инструменты для веб-мастеров и известные IP-адреса поисковых систем. Сколько времени вы тратите на это, зависит от того, насколько ценны ресурсы вашего веб-сервера и насколько вы хотите, чтобы весь сайт не отображался.