Назад | Перейти на главную страницу

Как ограничить доступ пользователей к моему веб-сайту, но не добавить роботу в белый список?

Я собираюсь использовать mod_evasive и / или mod_throttle для предотвращения неправомерного доступа к моему веб-сайту (под управлением Apache 2.4). Под «оскорбительным» я имею в виду, например, использование wget или HTTtrack для загрузки всего веб-сайта. И у mod_evasive, и у mod_throttle есть способы ограничить количество обращений к странице, которые пользователь может сделать за единицу времени. Так, например, я могу ограничить IP-адрес 5 страницами каждые 10 минут или что-то в этом роде.

Однако я бы хотел разрешить поисковым роботам превышать лимит.

Итак, есть два варианта:

(1) Я могу каким-то образом отправлять страницы индивидуально в поисковые системы. Итак, я блокирую доступ роботов к сайту, но просто отправляю им страницы явно, когда страница обновляется (могу ли я это сделать?).

(2) Каким-то образом занести в белый список определенных роботов. Проблема здесь в том, что я не буду знать IP-адрес робота заранее.

Какой подход использовать?

Белый список не обязательно должен быть основан на IP. mod_qos может выполнять сопоставление на основе пользовательского агента.

Это никому не помешает притвориться googlebot, но замедлит людей, которые не меняют его из wget.

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