Популярность Martech Zone продолжает расти в течение последних нескольких недель… и вместе с этим она также становится популярным веб-сайтом для хакеров и ботов. На прошлой неделе моя хостинговая компания предупредила меня, что мой сайт подвергся почти DDoS-атаке, но она исходила от пользовательского агента по имени облачный бот. Это настолько сильно ударило по моему сайту, что пришлось перенести его на новый сервер, который стоил бы в шесть раз дороже. Я понятия не имею, кто этот бот и кто разместил его на моем сайте, поэтому мой хост помог мне заблокировать его с помощью файла .htaccess.
Веб-сайты постоянно посещают различные типы ботов, некоторые из которых являются законными, а некоторые — вредоносными. Эти боты могут потреблять значительные ресурсы сервера, замедлять работу веб-сайта и даже извлекать ценный контент для конкурентного анализа. Если бот замедляет работу вашего сайта, это влияет на пользовательский опыт (UX) ваших посетителей и может серьезно повлиять на рейтинг вашего сайта в поисковых системах, если это продолжится.
Для бизнеса важно понимать, как блокировать как законных, так и незаконных ботов, чтобы защитить ваш веб-сайт и обеспечить оптимальную производительность для ваших посетителей.
Содержание
Блокировка легальных ботов
Законные боты, например, из поисковых систем и инструментов SEO, могут перегрузить ресурсы вашего сервера, если их не контролировать. Вы также можете не захотеть, чтобы бот вашего SEO-инструмента собирал и предоставлял вашим конкурентам подробную информацию о вашем контенте и страницах на их платформе.
Хотя эти боты выполняют свою задачу, их агрессивное сканирование может негативно повлиять на производительность вашего сайта. Вы можете использовать файл .htaccess для блокировки определенных ботов на основе строк их пользовательского агента, чтобы решить эту проблему.
Как заблокировать известных ботов с помощью .htaccess
Блокировка законных ботов может помочь:
- Уменьшите пропускную способность и использование ресурсов
- Запретить парсинг контента
- Повысьте точность аналитики
- Обеспечить соблюдение условий обслуживания стороннего инструмента.
Вот мой раздел .htaccess
файл для блокировки ботов:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} ("Ahrefs"|"AhrefsBot/6.1"|"AspiegelBot"|"Baiduspider"|"BLEXBot"|"Bytespider"|"claudebot"|"Datanyze"|"Kinza"|"LieBaoFast"|"Mb2345Browser"|"MicroMessenger"|"OPPO\sA33"|"PetalBot"|"SemrushBot"|"serpstatbot"|"spaziodati"|"YandexBot"|"YandexBot/3.0"|"zh-CN"|"zh_CN") [NC]
RewriteRule ^ - [F,L]
</IfModule>
<IfModule mod_rewrite.c>
и</IfModule>
: эти директивы гарантируют, что добавленные правила перезаписи будут обрабатываться только в том случае, если модуль Apachemod_rewrite
доступен и загружен. Это хорошая практика, позволяющая избежать ошибок, когда модуль не включен.RewriteEngine on
: Эта строка включает программу перезаписи, позволяя использовать правила перезаписи.RewriteBase /
: устанавливает базовый URL-адрес правил перезаписи. В этом случае он установлен в корневой каталог (/
).RewriteCond %{HTTP_USER_AGENT} ("AhrefsBot/6.1"|"Ahrefs"|"Baiduspider"|"BLEXBot"|"SemrushBot"|"claudebot"|"YandexBot/3.0"|"Bytespider"|"YandexBot"|"Mb2345Browser"|"LieBaoFast"|"zh-CN"|"MicroMessenger"|"zh_CN"|"Kinza"|"Datanyze"|"serpstatbot"|"spaziodati"|"OPPO\sA33"|"AspiegelBot"|"PetalBot") [NC]
: Эта строка определяет состояние правила перезаписи. Он проверяет, соответствует ли строка пользовательского агента входящего запроса одному из указанных имен или моделей бота.[NC]
Флаг в конце делает сравнение чувствительным к регистру. В условии используется%{HTTP_USER_AGENT}
переменная для получения строки пользовательского агента из заголовков запроса. Имена и статьи роботов заключаются в круглые скобки и разделяются вертикальной чертой (|
), который действует как оператор «ИЛИ». Это означает, что если строка пользовательского агента соответствует любому из перечисленных ботов, условие будет считаться выполненным.RewriteRule ^ - [F,L]
: Эта строка определяет правило перезаписи, которое срабатывает, если выполнено предыдущее условие.^
символ соответствует началу URL-адреса запроса и-
(тире) используется в качестве заполнителя для пустой строки замены.[F,L]
флаги в конце указывают действия, которые следует предпринять, если правило соответствует:
Список ботов
Вот список ботов, которых я заблокировал, и сведения о том, известны они или неизвестны.
- AhrefsBot/6.1 и Ареф: веб-сканеры, используемые Ahrefs, инструментом SEO и веб-аналитики. Они сканируют веб-сайты для сбора данных для анализа обратных ссылок, исследования ключевых слов и аудита веб-сайтов.
- AspiegelBot: использует веб-сканер. Aspiegel — австрийская компания, предоставляющая услуги веб-скрапинга и интеллектуального анализа данных.
- Байдупаук: веб-сканер, используемый китайской поисковой системой Baidu. Он индексирует веб-страницы для результатов поиска Baidu.
- BLEXBot: веб-сканер, используемый шведской SEO-компанией. Он используется для анализа веб-сайтов и целей SEO.
- На охоту пауков: неизвестный бот или известный СПАМ-бот.
- будет закрыт: неизвестный бот или известный СПАМ-бот.
- Датанизе: веб-сканер, используемый Datanyze, компанией, предоставляющей технологические данные и информацию о продажах.
- Профилактика: неизвестный бот или известный СПАМ-бот.
- ЛюбовьБаоФаст: неизвестный бот или известный СПАМ-бот.
- Браузер мб2345: неизвестный бот или известный СПАМ-бот.
- Микромессенджер: Пользовательский агент для WeChat, популярного китайского приложения для обмена сообщениями и социальных сетей, разработанного Tencent.
- ОППО А33: неизвестный бот или известный СПАМ-бот.
- ПеталБот: веб-сканер, используемый Aspiegel, австрийской компанией, предлагающей услуги анализа и мониторинга веб-сайтов.
- СемрашБот: Веб-сканер на базе Semrush, платформы для SEO и управления видимостью в Интернете. Он сканирует веб-сайты для сбора данных для исследования ключевых слов, аудита веб-сайтов и анализа конкурентов.
- бот serpstat: веб-сканер на базе Serpstat, универсальной SEO-платформы. Он используется для анализа веб-сайтов, исследования ключевых слов и анализа конкурентов.
- пространство данных: веб-сканеры, используемые Spaziodati, итальянской компанией, предоставляющей услуги веб-сканирования и интеллектуального анализа данных.
- ЯндексБот/3.0 и ЯндексБот: веб-сканеры, используемые Яндексом, российской поисковой системой и технологической компанией. Они сканируют и индексируют веб-страницы для результатов поиска Яндекса.
- ж-CN и zh_CN: неизвестный бот или известный СПАМ-бот.
Я приложил все усилия, чтобы их изучить, поэтому, пожалуйста, дайте мне знать, если заметите что-то неточное. Если мне не удавалось идентифицировать информацию, я помечал бот как «Неизвестный бот или известный СПАМ-бот», чтобы избежать распространения потенциально неточной информации.
Выявление и блокировка нелегальных ботов
Незаконные боты, например те, которые используются для очистки контента, рассылки спама или вредоносных действий, часто пытаются замаскироваться, чтобы избежать обнаружения. Они могут использовать простые методы, такие как выдача себя за законных пользовательских агентов, смену пользовательских агентов, использование автономных браузеров, или более сложные методы, такие как разделение запросов по нескольким IP-адресам.
Чтобы выявить и заблокировать незаконных ботов, рассмотрите следующие стратегии:
- Анализируйте структуру трафика: Контролируйте трафик вашего веб-сайта на наличие подозрительных закономерностей, таких как большое количество запросов с отдельных IP-адресов, необычные строки пользовательского агента или нетипичное поведение при просмотре.
- Ограничение скорости реализации: Установите ограничение скорости на основе IP-адресов или других характеристик запроса, чтобы боты не делали чрезмерных запросов и не потребляли ресурсы сервера.
- Используйте капчу: Внедрите CAPTCHA или другие механизмы запроса-ответа для проверки пользователей-людей и сдерживания автоматических ботов.
- Отслеживайте и блокируйте подозрительные диапазоны IP-адресов: Отслеживайте журналы своего сервера и блокируйте диапазоны IP-адресов, которые постоянно демонстрируют поведение, подобное боту.
- Используйте рендеринг на стороне сервера или доставку данных на основе API: Усложните парсинг, визуализируя контент на стороне сервера или доставляя данные через API вместо использования простого HTML.
- Регулярно обновляйте правила блокировки ботов: Постоянно отслеживайте и корректируйте правила блокировки ботов на основе наблюдаемого поведения ботов, поскольку методы нелегальных ботов могут со временем меняться.
Блокировка как законных, так и незаконных ботов имеет решающее значение для защиты производительности, ресурсов и контента вашего веб-сайта. Внедряя стратегические правила .htaccess и используя различные методы обнаружения и устранения ботов, вы можете эффективно защитить от негативного воздействия ботов на свой веб-сайт.
Помните, что блокировка ботов — это непрерывный процесс, требующий регулярного контроля и корректировки. Будьте бдительны и активны при блокировке ботов, чтобы обеспечить бесперебойную и безопасную работу ваших посетителей, одновременно защищая ваш сайт от вредного воздействия ботов.