Welcome! Log In Create A New Profile

Advanced

запрет фальшивых Googlebot

October 09, 2015 06:36AM
Недавно подопечные сервера начали перегружаться по DDoS, как правило, с одного ip из примерно 3000 шел один запрос на произвольную страницу одного из сайтов сервера с user agent Googlebot. IP не принадлежал сетям Google.
Появилась идея опознать бота и разрешить доступ только для сетей google. Конструкция вида if ($http_user_agent ~* googlebot ) { deny all; allow GOOGLENETS;} не разрешается. На основе ветки http://forum.nginx.org/read.php?2,202715,202715#msg-202715 и статьи хабра был составлен рецепт

http {
#...
geo $bot_ip {
default 0;
216.239.32.0/19 1;
64.233.160.0/19 1;
66.249.80.0/20 1;
66.249.64.0/19 1;
72.14.192.0/18 1;
209.85.128.0/17 1;
66.102.0.0/20 1;
74.125.0.0/16 1;
64.18.0.0/20 1;
207.126.144.0/20 1;
173.194.0.0/16 1;
}

map $http_user_agent $is_bot {
default 0;
~Googlebot 1;
}

map "$is_bot:$bot_ip" $fake_bot {
default 0;
"1:0" 1;
}
# ...
server {
#...
if ($fake_bot) {
return 418;
}
#...
}
#...
}

Код ошибки выбран для парсинга логов на предмет новых ip гугла.

Привел тут как пример решения задачи и для поиска более оптимальных решений
Subject Author Posted

запрет фальшивых Googlebot

Autopilot October 09, 2015 06:36AM

Re: запрет фальшивых Googlebot

Илья Шипицин October 10, 2015 04:52AM

Re: запрет фальшивых Googlebot

Andrey Kopeyko October 10, 2015 09:10AM

Re: запрет фальшивых Googlebot

vitcool October 11, 2015 11:27AM

Re: запрет фальшивых Googlebot

Autopilot October 12, 2015 04:39AM

Re: запрет фальшивых Googlebot

vitcool October 13, 2015 06:52AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 95
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready