Есть ли способ заблокировать поисковых роботов, если они не подчиняются правилам, записанным в файле robots.txt. Если да, где я могу найти больше информации об этом?
Я бы предпочел какое-то правило .htaccess, если не PHP.
Есть способы, чтобы предотвратить ботов от пауков вашего сайта.
Помимо фильтрации по пользовательскому агенту и известным IP-адресам, вы также должны реализовать блокировку на основе поведения. Это значит, что если он работает как гусеничный, заблокируйте его.
Вы можете найти несколько списков поисковых роботов Вот. Но большинство крупных игроков подчиняются robots.txt.
Так что другая, довольно большая часть — это блокировка из-за поведения ботов. Вещи становятся менее сложными, когда вы используете фреймворк, такой как Laravel или Symfony, потому что вы легко устанавливаете фильтр, который будет выполняться перед каждой загрузкой страницы. Если нет, вам нужно реализовать функцию, которая вызывается перед каждой загрузкой страницы.
Теперь есть несколько вещей, чтобы рассмотреть. Паук обычно ползает так быстро, как может. Таким образом, вы можете использовать сеанс для измерения времени между загрузками страниц и загрузками страниц в заданный промежуток времени. Если сумма X превышает это, клиент блокируется.
К сожалению, этот подход основан на правильной обработке сеансов / файлов cookie ботом, что может не всегда иметь место.
Другой или дополнительный подход заключается в измерении количества загрузок страниц с данного IP-адреса. Это опасно, потому что может быть огромное количество пользователей, использующих один и тот же IP-адрес. Так что это может исключать людей.
Третий подход, который я могу придумать, — это использовать какую-то приманку. Создать ссылку, которая ведет на конкретный сайт. Эта ссылка должна быть видимой для компьютеров, но не для людей. Спрячь это с помощью некоторых CSS. Если кто-то или что-то получает доступ к странице по скрытой ссылке, вы можете быть (близко) уверены, что это программа. Но имейте в виду, есть дополнения браузера, которые предварительно загружают каждую ссылку, которую они могут найти. Таким образом, вы не можете полностью полагаться на это.
В зависимости от характера вашего сайта, на последнем подходе будет скрывать весь сайт за захватом. Это суровая мера с точки зрения юзабилити, поэтому тщательно решите, применимо ли это к вашему варианту использования.
Тогда есть такие приемы, как использование flash или сложный Javascript, который большинство ботов не понимают, но это отвратительно, и я не хочу об этом говорить. ^^
Наконец, я сейчас приду к выводу.
Используя хорошо написанный robots.txt, большинство роботов оставят вас в покое. В дополнение к этому, вы должны объединить все или некоторые из упомянутых ранее подходов, чтобы получить плохих парней.
В конце концов, пока ваш сайт общедоступен, вы никогда не сможете уклониться от специально созданного бота, созданного специально для вашего сайта. Когда браузер может его проанализировать, робот может это сделать.
Для более полезного ответа мне нужно знать, что вы пытаетесь скрыть и почему.
Других решений пока нет …