Baiduspider+(+http://www.baidu.com/search/spider.htm)
По строке определяется: название клиента — Baiduspider.
Вердикт: краулер или служебный бот. Основания: явных противоречий в строке нет. Это оценка по строке и поведению, а не доказательство: по одному User-Agent нельзя гарантировать, что за ним бот или человек.
Настоящий поисковый робот создаёт умеренную нагрузку на сервер и нужен, чтобы страницы попадали в поиск. Системы статистики, как правило, не считают его визиты посещениями людей, но в журнале сервера он заметен. Резкий рост обращений стоит проверить на подделку.
Настоящий Baiduspider можно отличить от подделки по адресу: выполните обратный DNS-запрос к IP клиента и проверьте, что имя хоста принадлежит компании Baidu, а прямая запись указывает на тот же IP. У подделки в User-Agent будет такое же имя, но адрес окажется чужим.
Проверка занимает две команды. Сначала по IP запроса получаем имя хоста, оно должно оканчиваться на .baidu.com. Затем по этому имени получаем IP обратно, адрес обязан совпасть с исходным. Если хотя бы одна проверка не прошла, запрос идёт не от Baidu.
# 1. обратный запрос: имя хоста по IP
host 203.0.113.10
# 203.0.113.10 -> pointer crawler-example.baidu.com
# 2. прямой запрос: IP по имени хоста
host crawler-example.baidu.com
# адрес в ответе должен быть 203.0.113.10Запросы этого клиента легко найти в журнале по подстроке «Baiduspider». Ниже примеры для подсчёта обращений, для nginx и для PHP. Строку лучше сверять без учёта регистра.
# сколько запросов в журнале nginx
grep -i "Baiduspider" /var/log/nginx/access.log | wc -l
# nginx: пометить запросы клиента
map $http_user_agent $is_client {
default 0;
~*Baiduspider 1;
}
// PHP: определить клиента
if (stripos($_SERVER['HTTP_USER_AGENT'] ?? '', 'Baiduspider') !== false) {
// ваша логика: пропустить, ограничить или заблокировать
}Робот, соблюдающий правила, читает robots.txt до обхода страниц. Чтобы закрыть сайт целиком или только один раздел, добавьте правило с названием клиента. robots.txt рекомендательный: подделки и недобросовестные боты его игнорируют, для них нужна блокировка на сервере.
# закрыть весь сайт
User-agent: Baiduspider
Disallow: /
# закрыть только раздел
User-agent: Baiduspider
Disallow: /private/
# разрешить всё
User-agent: Baiduspider
Allow: /Пускайте проверенного робота и следите за нагрузкой. Если обход слишком частый, ограничивайте скорость в настройках сервиса компании Baidu или правилами в robots.txt, а не блокировкой.
Предоставленная строка идентифицирует официального поискового робота (краулера) китайской поисковой системы Baidu.
Статистика и другие строки: Baiduspider: все User-Agent и данные Bot Guard за 30 дней
Bot-guard.ru показывает реальную картину трафика и блокирует вредоносных ботов, не трогая живых пользователей. Сейчас — бесплатно на время открытого тестирования.
Подключить бесплатноПроверки показывают ботов. Bot Guard их останавливает
Тариф «Старт» — 0 ₽: один сайт, до 100 000 запросов в месяц. Плагины для WordPress и 1С-Битрикс, проверка для nginx, PHP-код для любого сайта.