Блокиратор спам-ботов

Использование этого блокиратора избавит Ваши сайты от 90% спам-ботов в сети, от нагрузок, от бесполезных пауков и сканеров, от потенциальных угроз и попыток взлома.

Блокировка ботов посредством файла .htaccess

Использование конфигурационного файла web-сервера Apache и некоторых других, подобных ему серверов - .htaccess (hypertext access) - наиболее простой и универсальный способ борьбы с спам-ботами. Этот файл есть в корне Вашего сайта на сервере (если нет, создайте его) и вставьте в него следующий "универсальный блокировщик спам-ботов*" (данный блокиратор рассчитан на Рунет):

# BEGIN Bad Bot Blocker https://seo-zona.ru/badbot
# Универсальный блокировщик спам-ботов от files. Подробности в скайпе: websochka
# Последняя редакция: 06.09.2021
SetEnvIfNoCase User-Agent "Abonti|AspiegelBot|aggregator|AhrefsBot|Aport|asterias|Baiduspider|BDCbot|Birubot|BLEXBot|BUbiNG|BuiltBotTough|Bullseye|BunnySlippers|Butterfly|ca\-crawler|CamontSpider|CCBot|Cegbfeieh|CheeseBot|CherryPicker|coccoc|CopyRightCheck|cosmos|crawler|Crescent|CyotekWebCopy/1\.7|CyotekHTTP/2\.0|DeuSu|discobot|DittoSpyder|DnyzBot|DomainCrawler|DotBot|Download Ninja|EasouSpider|EmailCollector|EmailSiphon|EmailWolf|EroCrawler|Exabot|ExtractorPro|Ezooms|FairShare|Fasterfox|FeedBooster|Foobot|Genieo|GetIntent\ Crawler|Gigabot|gold\ crawler|GrapeshotCrawler|grub\-client|Harvest|hloader|httplib|HTTrack|humanlinks|HybridBot|ia_archiver|ieautodiscovery|Incutio|InfoNaviRobot|InternetSeer|IstellaBot|Java|Java/1\.|JamesBOT|JennyBot|JS-Kit|k2spider|Kenjin Spider|Keyword Density/0\.9|kmSearchBot|larbin|LexiBot|libWeb|libwww|Linguee|LinkExchanger|LinkextractorPro|linko|LinkScan/8\.1a Unix|LinkWalker|LinkpadBot|lmspider|LNSpiderguy|ltx71|lwp-trivial|lwp\-trivial|magpie|Mata Hari|MaxPointCrawler|MegaIndex|memoryBot|Microsoft URL Control|MIIxpc|Mippin|Missigua Locator|Mister PiX|MJ12bot|MLBot|moget|MSIECrawler|msnbot|msnbot-media|NetAnts|NICErsPRO|Niki\-Bot|NjuiceBot|NPBot|Nutch|Offline Explorer|OLEcrawler|Openfind|panscient\.com|PostRank|ProPowerBot/2\.14|PetalBot|ProWebWalker|ptd-crawler|Purebot|PycURL|python-requests|Python\-urllib|QueryN Metasearch|RepoMonkey|Riddler|RMA|Scrapy|SemrushBot|serf|SeznamBot|SISTRIX|SiteBot|sitecheck\.Internetseer\.com|SiteSnagger|Serpstat|Slurp|SnapPreviewBot|Sogou|Soup|SpankBot|spanner|spbot|Spinn3r|SpyFu|suggybot|SurveyBot|suzuran|SWeb|Szukacz/1\.4|Teleport|Telesoft|The Intraformant|TheNomad|TightTwatBot|Titan|toCrawl/UrlDispatcher|True_Robot|ttCrawler|turingos|TurnitinBot|UbiCrawler|UnisterBot|Unknown|uptime files|URLy Warning|User-Agent|VCI|Vedma|Voyager|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|Yeti|YottosBot|Zao|Zeus|ZyBORG" bad_bot
Deny from env=bad_bot
# END Bad Bot Blocker

Кто такие "спам-боты" и зачем их блокировать?

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

К бесполезным спам-ботам также можно отнести специализированное ПО, которое может использоваться хакерами или онлайн сервисами для поиска уязвимостей на Вашем сайте.

Рано или поздно встает вопрос о их блокировке, поскольку имеется рад негативных последствий для сайта:

  • Нагрузка на сервер. Боты в большом количестве способны создать колоссальную нагрузку на сайт. Учитывая тот факт, что бесполезных ботов очень много, их пристальное внимание к вашему сайту негативно отобразится как на скорости загрузки, так и доступности самого сайта.
  • Сбор конфиденциальной информации. Как пример, спам-боты собирают информацию об установленных на вашем сайте плагинах, ваш сайт попадает в списки потенциально уязвимых сайтов (при обнаружении уязвимостей в каком-то плагине) и Ваш сайт в числе первых в списке на взлом.
  • Воровство контента. Различные онлайн-сервисы собирают информацию с Вашего сайта, такие как семантику, тематику, трафиковые страницы и популярные тексты. Эту информацию впоследствии можно встретить в открытом доступе. И ею беспрепятственно пользуются копипастеры, клонировщики сайтов и дорвейщики.
  • Умышленный вред. Ваши конкуренты могут использовать спам-ботов целенаправленно: скликивать рекламу на сайте, инициировать регистрации пользователей, спамить в формы связи, осуществлять DDOS атаку и т.д.

Это еще не все негативные последствия, в связи с чем возникает резонный вопрос: а зачем пускать таких спам-ботов на сайт?

Как работает "блокировщик спам ботов"?

Как правило, программное обеспечение (при обращении к сайту) должно передать идентификационную информацию о себе (представится). Такая информация передается в User-Agent. По User-Agent мы видим, кто заходит на сайт, и если он в нашем черном списке (см. выше), то сервер блокирует для него доступ, а именно, вернет ответ:

HTTP/1.1 403 Forbidden

403 Forbidden Error
Ошибка запрета доступа 403 (403 Forbidden Error) происходит, когда веб-сервер отказывает в доступе на сайт

* Почему блокиратор универсальный?

Название "универсальный" - условное. Нельзя охватить весь богатый перечень всех бесполезных ботов и пауков. Тем более, блокировка того или иного бота - вопрос риторический. Например, Baiduspider - бот крупнейшего китайского поисковика, одного из лидеров поисковых запросов в мире... но нуждается ли в нем рядовой русскоязычный сайт? Я считаю, что нет, поэтому он заслуженно в черных списках данного "универсального блокиратора" (для Рунета).

В мой универсальный блокиратор входит около 200 бесполезных ботов, пауков и сканеров (в реальности, этот список будет на порядок выше, так как блокируются и вариации основных ботов). Этот список составлялся и корректировался (дополняется периодически - заходите на эту страницу за обновлениями) на протяжении нескольких лет практической работы с сайтами клиентов, которых приходилось лечить от вирусов, защищать от DDOS атак, попыток взлома и т.д. Этот список уже стоит на тысячах сайтов в интернете и приносит свою практическую пользу вебмастерам.

Данный блокиратор не блокирует полезные боты (известные поисковые системы и сервисы аналитики), в его эффективности и безопасности для сайта автор полностью уверен - данный блокиратор стоит на этом сайте (вы можете проверить это любым внешним чекером HTTP заголовков сайта подставляя User-Agent из списка)!

Если у Вас возникли вопросы личного характера, пишите автору по этой ссылке

Если у Вас вопрос публичного характера, Вы можете оставить его в комментариях. Также приветствуются пожелания и замечания касательно списка бесполезных ботов и сканеров (их можно оставлять здесь же, в комментариях)

25 комментарий

  1. Pepsi says:

    У меня кстати по крону операции не выполнялись тк проблема заключалась в том, что были запрещены запросы к сайту и его скриптам с User Agent «Wget» (который собственно и используется утилитой по умолчанию).

    1. Вячеслав Скоблей says:

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

  2. ermak says:

    как самому добавить в исключение робота = пример - это - ec2-34-220-32-229.us-west-2.compute.amazonaws.com

    1. Вячеслав Скоблей says:

      Это не робот, а скорее всего HOST. Вы наблюдаете эту запись в User-Agent?

  3. Лео says:

    ставил эти 3 блока даже по отдельности Работает 100% . Проблема возникла огромная ,sitemap не обновляется, и импорт не работает

    1. Вячеслав Скоблей says:

      Попробуйте исключить из списка Wget

  4. Max says:

    Новый скрипт БАНИТ!!! бот Google Рекламы, из за него Google Реклама блокирует рекламу сайта (дает ошибку "Неработающий целевой URL" Ошибка HTTP: 403). Поставил прошлогодний скрипт ВСЕ ЗАРАБОТАЛО!

    1. Вячеслав Скоблей says:

      Во первых, ничего не понятно! "Google Реклама блокирует рекламу сайта" и т.д. - это как?
      Во-вторых, скрипты стоят на множестве сайтов с Google Adsense, где не наблюдается 403!
      Я был бы признателен, если бы вы предоставили больше информации, возможно ваша ситуация исключительная!

      1. Max says:

        Блокирует попытку размещения рекламы сайта в системе Google Реклама. На этапе создания объявления. Просто выдает "Неработающий целевой URL" Ошибка HTTP: 403. Это когда указываешь ссылку на рекламируемый сайт. Как только поставил скрипт с 20 года, блокировка от Google исчезла. А ошибки 403 и нету!!!! обычный пользователь ее не видит, сайт работает прекрасно, только вот Google Реклама ее видит, тех поддержка Google оказалась ТУПОЙ и ничего путного не сказала, как я ее не пытался раскрутить с помощь. каких инструментов они находят ошибку 403. могу выслать вам скриншоты с этой ошибкой :))

        1. Вячеслав Скоблей says:

          Спасибо за помощь! Действительно, боты рекламы Google блокировались в редакции до 21 мая 2021 года. Внесли изменения в код.

  5. Антонина says:

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

    RewriteEngine on
    ## SITE REFERRER BANNING
    RewriteCond %{HTTP_REFERER} ok.ru [NC,OR]
    RewriteCond %{HTTP_REFERER} t.co [NC,OR]
    RewriteCond %{HTTP_REFERER} vk.com [NC,OR]
    RewriteCond %{HTTP_REFERER} youtube.com [NC,OR]
    RewriteCond %{HTTP_REFERER} l.instagram.com [NC,OR]
    RewriteCond %{HTTP_REFERER} facebook.com [NC,OR]
    RewriteCond %{HTTP_REFERER} zen.yandex.ru [NC,OR]
    RewriteCond %{HTTP_REFERER} click.my.mail.ru [NC,OR]
    RewriteCond %{HTTP_REFERER} porndl.org [NC]
    RewriteRule .* - [F]
    
    # Options +FollowSymlinks
    RewriteCond %{HTTP_REFERER} ok\.ru [NC]
    RewriteCond %{HTTP_REFERER} vk\.com [NC]
    RewriteCond %{HTTP_REFERER} youtube\.com [NC]
    RewriteCond %{HTTP_REFERER} facebook\.com [NC]
    RewriteCond %{HTTP_REFERER} zen.yandex\.ru [NC]
    RewriteCond %{HTTP_REFERER} click.my.mail\.ru [NC]
    RewriteCond %{HTTP_REFERER} l.instagram\.com [NC]
    RewriteRule .* - [F] 

    Перестали работать иконки на сайте

    1. Вячеслав Скоблей says:

      Нельзя сказать однозначно! в HTTP_REFERER может не передаваться посещение бота.

  6. Андрей says:

    При заливке на сайт с незащищённым протоколом (http), выдаёт сообщение: ERR_SSL_PROTOCOL_ERROR Не подскажете, почему?

    1. Вячеслав Скоблей says:

      Данный код не использует каких-либо подключений и не может вызывать данную ошибку.

  7. tekseo says:

    Почему в конце используется Deny from env=bad_bot а не:

    Order Allow,Deny
    Allow from all
    Deny from env=bad_bot

    1. Вячеслав Скоблей says:

      1) Allow,Deny имеют дело с IP-адресами и диапазонами (не наш случай)
      2) Deny from env=bad_bot - запрещает доступ, если выполнено условие из секции "bad_bot"

  8. Дмитрий says:

    Очень избыточный список! Его можно сократить!!! Зачем вписыват всех ботов: BDCbot, CCBot, CheeseBot ну и т.д. Можно оставить только одно слово - bot. И все боты где в User-Agent встречается слово - bot ( регистр неважен! SetEnvIfNoCase всех найдет ), будут заблокированы. Также можно использовать - spider ну и т.д.

    1. Вячеслав Скоблей says:

      И «YandexBot» и «GoogleBot» в том числе будут заблокированы! :)

  9. Александр says:

    Спасибо, установил. Добавил к списку еще этих
    |trovitBot|webcrawl.net|rogerBot.|VoidEYE|
    YottaShopping_Bot|aiHitBot|SquigglebotBot|
    MauiBot|Detectify|FlipboardProxy|LinkpadBot

  10. korel says:

    Было бы неплохо, сделать подобное от ркн и тому подобных

  11. Привет всем!
    Будьте внимательны: У меня перестал работать Планировщик заданий (CRON) после того как вставил список ботов в htacces, когда убрал всё заработало, через логи не понял какой бот к нему обращается. Если админ понял что я имею ввиду, буду благодарен за помощь)

    1. Вячеслав Скоблей says:

      Скорее всего, вы используете CRON для запуска парсеров на своем сайте!
      Точную причину блокировки можно узнать лишь, изучив логи.

      Если попытаться угадать, то попробуйте исключить: Wget

    2. its says:

      У нас то же поломался CRON, используем обмен товарами с группой ВК

  12. Ирина says:

    Подскажите, пжл, в какое место htaccess вставлять данную конструкцию? Спасибо.

    1. Вячеслав Скоблей says:

      Можно в самый конец, с новой строки

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *