#http #security #nginx #cloudflare #googlebot
#http #Безопасность #nginx #cloudflare #googlebot
Вопрос:
Я знаю, что эти IP-адреса являются поддельными ботами Google, и я бы хотел их заблокировать. Ip не является статическим, поэтому я хотел бы заблокировать диапазон в Cloudflare.
Однако это не работает. Вот пример журнала поддельного бота Google: https://gyazo.com/f4bd7182923c6caa92cf95a7f84116cd
Вот поддельные IP-адреса ботов:
162.158.74.61
162.158.74.175
162.158.75.188
162.158.75.68
162.158.75.230
162.158.75.242
162.158.75.26
162.158.74.205
172.68.58.213
172.68.58.141
172.68.58.21
172.68.59.40
172.68.59.184
108.162.216.176
108.162.216.248
108.162.216.92
Вот моя текущая конфигурация Cloudflare: https://gyazo.com/91af7d0964621c95d5cc5a462724cb9a
Есть идеи о том, как это должно быть сделано?
Ответ №1:
Добавить /etc/nginx/nginx.conf
в http-блок:
geo $fakebotip {
default 0;
108.162.0.0/16 1;
141.101.0.0/16 1;
162.158.0.0/16 1;
172.68.0.0/16 1;
172.69.0.0/16 1;
}
А затем /etc/nginx/sites-available/your-site.pl
:
if ($fakebotip = 1) {
set $naughtyBot A;
}
if ($http_user_agent ~ (Googlebot|SemrushBot|AhrefsBot|bingbot|Qwantify|YandexBot|YandexImages|DotBot|linkfluence|Mediatoolkitbot|BoardReader) ) {
set $naughtyBot "${naughtyBot}B";
}
if ($naughtyBot = AB) {
return 404;
}
Проверьте конфигурацию nginx:
sudo nginx -t
Если все в порядке, перезагрузите nginx: sudo systemctl reload nginx
Ответ №2:
Вы можете заблокировать всех ботов с помощью robots.txt и , поместив это
User-agent: *
Disallow: /
Он заблокирует всех ботов, сканирующих ваш сайт
Также, если вы хотите разрешить боту, пример googlebot поместит это
User-agent: Googlebot
Allow: /
Комментарии:
1. Я не хочу блокировать всех роботов. Просто нужно заблокировать поддельных роботов, и я вставил IP-адреса поддельных ботов выше. Блокировка каждого робота уничтожит мой SEO. Кроме того, мне нужно заблокировать его в Cloudflare.