Межсетевое экранирование

Управление влиянием web Bots


Web bots (что тоже самое, что и агенты или spiders) есть прикладное ПО, используемое для сбора, анализа и индексирования web-содержимого. Web bots используются многими организациями в разных целях. Некоторые примеры:

  • Scooter, Slurp и Googlebot анализируют, индексируют и записывают web-сайты для поисковых систем, таких как AltaVista и Google;
  • ArchitextSpider собирает статистику Интернета;
  • Hyperlink validators используются для автоматической проверки корректности гиперссылок на другие сайты;
  • EmailSiphon и Cherry Picker являются bots, специально разработанными для поиска на web-сайтах e-mail адресов для добавления в e-mail списки ("спам"). Это пример bot, который имеет негативное воздействие на web-сайты или их пользователей.

Bots имеют негативные последствия, потому что:

  • web-серверы часто содержат директории, которые не должны индексироваться;

  • организации могут не хотеть, чтобы часть их сайта появлялась в поисковых системах;
  • web-серверы часто содержат временные страницы, которые не должны индексироваться;

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

В принципе, существует способ для web-администратора повлиять на поведение большинства bots на своем web-сайте. Была создана серия соглашений, называемая Robots Exclusion Standard (REP). Хотя REP не является официальным стандартом Интернета, он поддерживается большинством хорошо написанных и имеющих благие цели bots, включая те, которые используются в большинстве поисковых систем.

Web-администраторы, которые хотят ограничить деятельность bots на своих web-серверах, должны создать тестовый файл, называемый robots.txt. Файл должен всегда иметь данное имя и располагаться в корневой директории web-сервера. Кроме того, допускается только один такой файл на весь web-сайт. Заметим, что файл robots.txt является стандартом, который на добровольной основе должен поддерживаться программистами bots. Не существует обязательного требования использовать его.
Таким образом, вредоносные bots, такие как EmailSiphon и Cherry Picker, игнорируют данный файл.

Robots.txt является простым тестовым файлом, который содержит определенные ключевые слова и спецификации файла. Каждая строка файла либо является пустой, либо состоит из единственного ключевого слова и относящейся к нему информации. Ключевые слова используются для того, чтобы сказать роботам, какую часть web-сайта следует исключить из их анализа.

Допустимы следующие ключевые слова:



  • User-agent – имя робота или spider. Web-администратор может указать более одного имени агента, при этом действие будет применяться к каждому указанному bot. Запись нечувствительна к регистру (слово "googlebot" – то же самое, что и "GoogleBot", "GOOGLEBOT"). "*" указывает, что это запись по умолчанию, которая используется, если никакого соответствия не найдено. Например, если указать "GoogleBot", то "*" будет применяться к любому другому роботу, за исключением GoogleBot.


  • Disallow – говорит bots, какие разделы web-сайта следует исключить. Например, /images информирует bots, что не следует открывать или индексировать любые файлы в директории images и любых ее поддиректориях. Таким образом, директория /images/special также не будет индексироваться указанными в user-agent bots.


Заметим, что /do будет соответствовать любой директории, начинающейся с "/do" (например, /do, /document, /docs и т.п.), в то время как /do/ соответствует только директории, называемой "/do/".

Web-администратор может также указать конкретные файлы. Например, он может указать /mydata/help.html для предотвращения доступа только к одному файлу.

Значение "/" указывает, что ничего на web-сайте не разрешено для доступа указанных в user-agent bots.

Должна существовать по крайней мере одна запись на каждый user-agent.

Существует много способов использовать файл robots.txt. Несколько простых примеров:



  • запретить всем (учитывающим это) bots доступ в указанные директории:

    User-agent: * Disallow: /images/ Disallow: /banners/ Disallow: /Forms/ Disallow: /Dictionary/



  • запретить всем (учитывающим это) bots доступ ко всему web-сайту:

    User-agent: * Disallow: /



  • запретить конкретному bot анализировать конкретную web-страницу:

    User-agent: GoogleBot Disallow: tempindex.html



Заметим, что файл robots.txt доступен всем. Следовательно, web-администратор не должен указывать имена чувствительных файлов или папок. Если они должны быть исключены, то лучше использовать защищенные паролем страницы, которые не могут быть доступны bots. Защита паролем является более надежным способом для исключения не придерживающихся правил bots. Более подробная информация будет приведена при описании методов аутентификации.


Содержание раздела