У меня есть сайт, который по нормативным причинам не может быть проиндексирован или произведен автоматический поиск. Это означает, что мы должны держать всех роботов подальше и не дать им спайдеринг сайта.
Очевидно, у нас был файл robots.txt, который запрещает все с самого начала. Однако наблюдение за файлом robots.txt - это то, что делают только роботы с хорошим поведением. Недавно у нас были проблемы с роботами с плохим поведением. Я настроил Apache для запрета нескольких пользовательских агентов, но это довольно легко обойти.
Итак, вопрос в том, есть ли какой-нибудь способ настроить Apache (возможно, установив какой-нибудь модуль?) Для обнаружения поведения, подобного роботу, и ответа? Есть еще идеи?
На данный момент все, что я могу сделать, это запретить IP-адреса на основе ручной проверки журналов, и это просто не является жизнеспособной долгосрочной стратегией.
Ответы:
Вы можете создать ссылку на скрытую страницу, которая при посещении захватывает идентификатор пользователя и IP-адрес бота, а затем добавляет один или оба из них в файл .htaccess, который навсегда блокирует их. Он автоматизирован, поэтому вам не нужно ничего делать для его обслуживания.
источник
Вы можете воспользоваться работой, которую проделали другие люди по выявлению плохих IP-адресов, с помощью модуля Apache, который взаимодействует с черным списком IP Project Honeypot . Если вы делаете это в больших масштабах, возможно, было бы вежливо предложить запустить honeypot.
источник
Как упомянул Жизель Ханнемир в комментарии , лучший способ сделать это - потребовать, чтобы вход всех пользователей был выполнен, и не предоставлял ограниченный контент тем, кто не вошел в систему.
Если вам по какой-то причине не требуется вход в систему, есть еще несколько вариантов, которые вы можете использовать (отказ от ответственности: оба они частично или полностью являются моей ошибкой):
Набор базовых правил OWASP ModSecurity содержит ряд правил, разработанных для обнаружения автоматизации, даже если бот предпринял шаги, чтобы замаскироваться под браузер (например, подделать строку User-Agent). Если вы полностью контролируете свой сервер, такой как VPS, выделенный сервер или что-то большее, то вы можете использовать эти правила с ModSecurity .
Этот набор правил также содержит другие правила, предназначенные для прекращения широкого спектра неуместных действий; если вы не смотрели на это, вам определенно следует.
Если вы не полностью контролируете свой сервер (то есть используете общий веб-хостинг), и ваш хост не позволяет использовать ваши собственные правила ModSecurity, вы можете попробовать что-то на уровне приложения, например, мой собственный Bad Поведение . Я начал этот проект в 2005 году, чтобы бороться со спамом в блоге и соскребениями контента, например, теми, которые вас касаются. Его можно добавить на любой веб-сайт на основе PHP.
Я также должен отметить, что многие из правил плохого поведения были включены в основной набор правил ModSecurity, поэтому, если вы включите эти правила, выполнение обоих будет довольно избыточным. Эти правила аннотированы в Базовом наборе правил как происходящие из плохого поведения.
источник