Здравствуйте мои дорогие читатели. В этой статье я расскажу вам как заблокировать ботов, которые нам не нужны.
Предисловие
Итак, мы уже сделали сам себе сайт для бизнеса или для хобби. Качественный дизайн радовал нам глаза, а счетчик отсчитывал посетителей. Но радость иногда падает в ошибку 500. Мы смогли написать статью на тему как найти процессы, которые грузят наш сервер. А еще у нас есть небольшая статья, которая была написана после решения проблеммы когда сервер грузят запросы OPTIONS. Сегодня пришла очередь разобраться с ботами. Мы узнаем как заблокировать ботов которые грузят сервер.
Статистика боты которые грузят сервер
49 different robots | Hits | Bandwidth |
---|---|---|
Wget | 14,5 | 3.35 GB |
nbot | 10,726+21 | 550.35 MB |
oBot | 9,274+309 | 377.94 MB |
bingbot | 8,008+35 | 287.44 MB |
Unknown robot identified by bot\* | 5,442+150 | 227.76 MB |
Googlebot | 5,200+19 | 559.62 MB |
Yandex ( catchall ) | 3,73 | 40.87 MB |
crawl | 1,794+14 | 69.41 MB |
YandexBot | 1,071+398 | 63.01 MB |
YandexMobileBot | 1,242 | 19.36 MB |
Applebot | 624+10 | 18.57 MB |
Unknown robot identified by \*bot | 520+39 | 31.58 MB |
Unknown robot (identified by hit on robots.txt) | 0+503 | 66.31 KB |
Googlebot-Image | 377 | 25.55 MB |
wordpress | 298 | 552.45 KB |
Firefox version 10 and lower - various robots | 235 | 44.52 MB |
YandexImages | 232 | 9.50 MB |
feed | 208+8 | 2.24 MB |
feedburner | 196 | 220.32 KB |
empty user agent string | 166 | 40.68 MB |
DotBot | 35+71 | 3.45 MB |
python | 91+1 | 8.45 MB |
link | 68+13 | 3.08 MB |
twitterbot | 37+37 | 4.66 MB |
sift | 41+15 | 849.98 KB |
360Spider | 49 | 1004.13 KB |
MJ12bot | 27+21 | 3.12 MB |
SemrushBot | 0+33 | 4.35 KB |
mozilla/5.0 - ( Rogue Robot ) | 24 | 737.79 KB |
AhrefsBot | 1+15 | 70.98 KB |
CFNetwork | 14 | 1.26 MB |
Baidu ( catchall ) | 4 | 101.47 KB |
Screaming Frog SEO Spider | 3 | 135.04 KB |
core | 3 | 13.03 KB |
Feedfetcher-Google | 3 | 133.94 KB |
custo | 2 | 516.20 KB |
2 | 169.26 KB | |
facebookexternalhit | 2 | 102.28 KB |
motor | 2 | 17.35 KB |
scanner | 2 | 95.22 KB |
msie8 - ( Rogue Robot ) | 2 | 90.03 KB |
Curl | 1 | 258.52 KB |
SurdotlyBot | 1 | 44.83 KB |
netcraft | 1 | 258.55 KB |
CCBot | 0+1 | 135 Bytes |
MSIE 6 - ( Rogue Robot ) | 1 | 45.01 KB |
TelegramBot | 1 | 80.59 KB |
BLEXBot | 0+1 | 135 Bytes |
nutch ( catchall ) | 0+1 | 135 Bytes |
Какие боты грузят сервер
Первым делом стоит поделить ботов которые грузят сервер на хороших и плохих. К хорошим отнесем, пожалуй ботов поисковых систем google, yandex и подобных. К плохим ботам, которых называем bad_bot мы относимся с презрением и блокируем их на входе. Добавим код в .htaccess
Options All -Indexes SetEnvIfNoCase User-Agent "Abonti|aggregator|AhrefsBot|asterias|BDCbot|BLEXBot|BuiltBotTough|Bullseye|BunnySlippers|ca\-crawler|CCBot|Cegbfeieh|CheeseBot|CherryPicker|CopyRightCheck|cosmos|Crescent|discobot|DittoSpyder|DotBot|Download Ninja|EasouSpider|EmailCollector|EmailSiphon|EmailWolf|EroCrawler|Exabot|ExtractorPro|Fasterfox|FeedBooster|Foobot|Genieo|grub\-client|Harvest|hloader|httplib|HTTrack|humanlinks|ieautodiscovery|InfoNaviRobot|IstellaBot|Java/1\.|JennyBot|k2spider|Kenjin Spider|Keyword Density/0\.9|larbin|LexiBot|libWeb|libwww|LinkextractorPro|linko|LinkScan/8\.1a Unix|LinkWalker|LNSpiderguy|lwp\-trivial|magpie|Mata Hari|MaxPointCrawler|MegaIndex|Microsoft URL Control|MIIxpc|Mippin|Missigua Locator|Mister PiX|MJ12bot|moget|MSIECrawler|NetAnts|NICErsPRO|Niki\-Bot|NPBot|Nutch|Offline Explorer|Openfind|panscient\.com|PHP/5\.\{|ProPowerBot/2\.14|ProWebWalker|Python\-urllib|QueryN Metasearch|RepoMonkey|RMA|SemrushBot|SeznamBot|SISTRIX|sitecheck\.Internetseer\.com|SiteSnagger|SnapPreviewBot|Sogou|SpankBot|spanner|spbot|Spinn3r|suzuran|Szukacz/1\.4|Teleport|Telesoft|The Intraformant|TheNomad|TightTwatBot|Titan|toCrawl/UrlDispatcher|True_Robot|turingos|TurnitinBot|UbiCrawler|UnisterBot|URLy Warning|VCI|WBSearchBot|Web Downloader/6\.9|Web Image Collector|WebAuto|WebBandit|WebCopier|WebEnhancer|WebmasterWorldForumBot|WebReaper|WebSauger|Website Quester|Webster Pro|WebStripper|WebZip|Wotbox|wsr\-agent|WWW\-Collector\-E|Xenu|Zao|Zeus|ZyBORG|coccoc|Incutio|lmspider|memoryBot|SemrushBot|serf|Unknown|uptime files" bad_bot Deny from env=bad_bot <Limit GET POST HEAD> Order Allow,Deny Allow from all Deny from env=bad_bot </Limit>
Есть еще боты краулеры, они уже сильнее грузят наш сервер, потому как не просто индексируют наш сайт. Crawler бот обычно выкачивает наш сам себе сайт полностью.
Что такое WGET бот
WGETbot это веб-сканер, который имитирует поведение командной строки Wget. Такой бот используют для извлечения контента с сервера. Wget инструмент для загрузки файлов и веб-страниц, поддерживающий протоколы HTTP, HTTPS и FTP. WGETbot автоматизирует процесс парсинга веб-страниц для различных целей. Варианты использования включают сбор данных, зеркалирование веб-сайта и архивирование контента. Он особенно полезен для разработчиков которые занимаются парсерами, которым необходимо эффективно собирать данные из сети.
Как заблокировать ботов WGET
Через файл robots.txt добавьте правило, чтобы запретить WGETbot. Этот файл указывает всем ботам, какие части вашего сайта следует избегать. Но помните, что не все боты будут исполнять инструкции этого файла
User-agent: Wget Disallow: /
Через правила .htaccess используемый Apache, чтобы блокировать запросы от WGETbot на стадии проверки строки User-Agent
RewriteEngine On RewriteCond %{HTTP_USER_AGENT} Wget [NC] RewriteRule .* - [F,L]
Через конфигурацию Nginx для сервера, чтобы заблокировать ботов на основе User-Agent добавьте инструкцию.
if ($http_user_agent ~* 'Wget') { return 403; }
Также настройте правила брандмауэра для блокировки IP-адресов, связанных с нежелательной активностью ботов. Но помните, что для этого требуется постоянный мониторинг нагрузки на сервер.
Как заблокировать ботов zbot
Бот-сканер _zbot это автоматизированный веб-сканер, предназначенный для индексации и анализа содержимого веб-сайта. Обычно он используется для агрегации данных, SEO анализа и сбора конкурентной разведки. Систематически посещая веб-страницы, _zbot собирает такую информацию, как метаданные, структура страницы и обновления контента. Эти данные можно использовать для оптимизации рейтингов поисковых систем, мониторинга действий конкурентов или улучшения стратегий цифрового маркетинга. Преимущества использования _zbot включают улучшение видимости в поисковых системах. Понимание рыночных тенденций и возможность отслеживать изменения на веб-сайтах конкурентов. Однако чрезмерное сканирование может привести к увеличению нагрузки на сервер и потенциальным проблемам конфиденциальности, если осуществляется доступ к конфиденциальным данным.
Блокируем _zbot
robots.txt
User-agent: _zbot Disallow: /
.htaccess
RewriteEngine On RewriteCond %{HTTP_USER_AGENT} _zbot [NC] RewriteRule .* - [F,L]
Заключение
Так мы узнали как заблокировать ботов, которые не несут нам пользы и просто грузят сервер VPS.
Ботов которых стоит заблокировать
Имя бота | Создатель бота |
---|---|
_zbot | Неизвестный автор |
2ip.ru bot | 2ip.ru |
advanced_crawler | Неизвестный автор |
Adventurer | Неизвестный автор |
AGAKIDSBOT | AGAKIDS |
Alexabot | Alexa Internet, Inc. |
alienfarm | Неизвестный автор |
ALittle Client | Неизвестный автор |
AntBot | Неизвестный автор |
Aragog | Automattic Inc. |
Как заблокировать ботов которые указаны в этой таблице уже знаем. Самый надежный способ это через внесение кода в файл .htaccess или через настройку сервера. Робот знает. Напишите в комментарии, если вас мучают боты по ночам.