Егор Левин Егор Левин

Роботы являются большой проблемой для большинства современных интернет-проектов. Роботы увеличивают нагрузки на сервер, , количество спама и подвергает данные пользователей опасности. С помощью роботов злоумышленники могут искать бреши в системах безопасности сайтов и даже полностью препятствовать его работе. Поэтому роботов необходимо блокировать. Однако не все роботы наносят сайту вред. Например, есть поисковые роботы, которые индексируют страницы вашего сайта для их дальнейшего добавления в поисковые системы такие как Яндекс и Google.

Как определить “вредного” робота

Как мы уже отметили выше, не все роботы наносят вред сайту. Поэтому для начала необходимо определиться какие роботы существуют в принципе:

  • Злонамеренные боты. Эти роботы создаются с целью взлома и вывода сайтов из строя. Их задача заключается в сканировании сайта не на предмет содержащейся там информации, а в первую очередь на уязвимые компоненты, в которые могут быть внедрены элементы удаленного управления или совершения вредоносных действий. Такие виды роботов необходимо блокировать.
  • Парсеры. Такие роботы в основном собирают информацию с сайтов для дальнейшей ее передачи заинтересованным лицам. Такие виды роботов так-же нужно блокировать. Однако необходимо разрешить доступ к API, если у вашего сайта таковое имеется.
  • Поисковые роботы. Этот тип роботов, которые занимаются сканированием и индексацией информации с сайтов для дальнейшего их занесения в базу данных поисковых систем. Этих роботов не нужно блокировать. Если вы заблокируете данных роботов, то поисковые системы будут считать ваш сайт не доступным для посетителей.

Способы обнаружение роботов

Перед тем чтобы начать блокировать роботов необходимо определить является ли посетитель сайта человеком или роботом, а если посетитель является роботом, то необходимо понять откуда он пришел и какие у него цели. 

Для того чтобы определить кем является посетитель сайта можно воспользоваться следующими методами:

  • Выяснить, используются ли посетителем JS-скрипты. Во всех современных браузерах уже более 10 лет есть поддержка JS скриптов. Данная технология включена в браузерах по умолчанию. Отключить её можно только через настройки. Если у посетителя не работают JS-скрипты - это 1 признак того, что посетитель является роботом. Либо у робота вообще нет браузера, что бывает довольно часто, либо их специально выключили.
  • Выяснить, в каком режиме работает браузер. У всех популярных браузеров есть 2 режима работы: оконный и консольный. Как правило, консольным режимом пользуются только роботы. Выяснить, в каком режиме находится браузер у посетителя, можно через JS. 
  • Проверить, управляет ли браузером какое-либо автоматизированное ПО. Очевидно, что реальный посетитель не будет использовать в своём браузере плагины для автоматического выполнения задач. Выяснить, есть ли в браузере такие плагины, можно через JS.
  • Проверить IP адрес посетителя. Роботы как правило делают запросы с прокси серверов. Наиболее популярными прокси-серверами является сеть Tor. Выяснить, используется ли у посетителя прокси можно сверив IP посетителя с базой IP прокси серверов. 
  • Проанализировать кол-во запросов в течении 1 сек с 1 IP адреса. Человек не сможет загружать страницы сотнями в течении 1 сек.
  • Проанализировать действия посетителя на странице. Как правило, роботы нажимают на ссылки, кнопки даже не прокручивая страницу до этой ссылки и кнопки. Поля в формах обратной связи заполняются моментально. Переход на другие страницы сайта может осуществляться не через навигацию на сайте, а через вставку ссылок на страницу в адресную строку браузера. Все это является признаками того, что посетитель скорее всего робот.

Как заблокировать роботов на сайте без использования капчи

Чтобы заблокировать как правило используют капчу. Однако капча не только блокирует роботов, но и раздражает обычных людей, что негативно сказывается на поведенческих факторах сайта и, как следствие, его посещаемости. Надежного способа заблокировать робота без использования капчи нет, однако можно значительно уменьшить кол-во роботов на сайте с помощью следующих способов:

  • Блокировка по IP. Самый простой способ - это внесение IP посетителя в черный список. Однако после блокировки, посетитель может сменить IP на другой при помощи прокси сервера или переподключиться к сети, если у провайдера данного посетителя нет статических IP адресов.
  • Блокировка по User-Agent. Если у посетителя специфический User-Agent, который не соответствует ни 1 браузеру, то такой User-Agent можно внести в черный список. Однако, после блокировки, посетитель может сменить и его.
  • Блокировка всей подсети посетителя. Более продвинутый способ блокировки - это заблокировать всю подсеть посетителя. В данном случае блокируются пул IP адресов. Однако недостаток в данном методе заключается в том, что если IP из данной сети используются в том числе и обычными людьми, то будут заблокированы в том числе и такие люди. 
  • Блокировка по странам. Если вы работаете на территории РФ, а запросы идут из США, то можно просто ограничить доступ к сайту посетителям из другим стран.
  • Блокировка прокси-серверов и VPN. VPN и прокси сервера как правило используются для того чтобы обойти блокировки на сайте. Поэтому их так же необходимо блокировать. Стоит отметить, что если у посетителя используется приватный VPN или прокси сервер, то такая блокировка на такого посетителя не повлияет.
  • Блокировка определенных запросов к сайту. Роботы могут выполнять запросы к несуществующим страницам на сайте или передавать не типичные параметры в адресной строке. ТАкие запросы можно отфильтровать на уровне сервера. 

Другая полезная информация

Блокируем роботов на сайте

Блокируем роботов на сайте

Левин Егор

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

VPN

VPN бесполезен как средство анонимности

Левин Егор

Уже несколько лет VPN серверы являются одним из самых популярных поисковых фраз в поисковых системах. Это происходит поскольку VPN сервера позволяют обойти блокировку различных сайтов...

Панель управления сервером

Нужна ли панель управления сервером?

Левин Егор

Панель управления сервером — это программное обеспечение, которое предоставляет пользователю графический интерфейс для управления сервером и его ресурсами. С помощью панели управления можно ос...

Хостинг или сервер

В чем разница между хостингом и сервером

Левин Егор

В интернете насчитывается более 60 млрд террабайт данных, и каждый день этот объем становится все больше и больше. Все эти данные нужно где-то хранить. Существует множество компаний, которые п...

youdo.com

Обзор сервиса youdo.com

Левин Егор

Со слов разработчиков, YouDo (Юду) - это сервис, на котором вы можете быстро найти надежных специалистов различных областей, в том числе программистов, веб-дизайнеров, контент-менджеров. Мы реши...

Сокращаем затраты благодаря ИИ

Сокращаем затраты благодаря ИИ

Левин Егор

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

Debian и Windows

Debian - самая надёжная альтернатива Windows

Левин Егор

Не так давно Microsoft объявили о том, что приостанавливают продажи в России, а потому стало интересно, чем же пользоваться? Поэтому, многие стали говорить об операционных системах на базе Linux...

Linux Mint

Отказываемся от Windows вместе с Linux Mint

Левин Егор

Linux Mint - это популярный дистрибутив операционной системы Linux, основанный на Ubuntu и Debian. Он создан для того, чтобы предоставить пользователям простой, удобный и привлекательный опыт ра...

Debian

Debian - надежная, стабильная и бесплатная ОС

Левин Егор

Debian - это популярный и широко используемый дистрибутив операционной системы Linux. Он является одним из самых старых и стабильных дистрибутивов Linux, который обладает обширным сообществом...