Атаку поисковых ботов на свой блог я заметил еще в прошлом месяце, однако не придал этому особого внимания. Сегодня же майлрушный бот, подружившийся с Bing, завалили сервер на целых два часа. Так началась админская война с ботами, индексирующими мой проект. Естественно, она закончилась победой, в которой потребовалось лишь одно простое действие — заблокировать два поисковика в htaccess. О том, как забанить Mail и Bing по маске сети, чтобы не не нагружали сайт, и пойдет речь в данной статье.
Суть индексации поисковыми системами была следующей. От Bing-бота шли запросы к тегам блога, коих накопилось пару тысяч:
157.55.39.183 — — [09/Dec/2016:09:21:44 +0300] «GET /tag/vaptyrneta HTTP/1.0» 200 21552
207.46.13.56 — — [09/Dec/2016:09:21:55 +0300] «GET /tag/xlebopechka HTTP/1.0» 200 21478
207.46.13.56 — — [09/Dec/2016:09:22:32 +0300] «GET /tag/novyj-domen HTTP/1.0» 200 21524
В свою очередь майлрушный спайдер активно индексировал карту сайта:
217.69.134.13 — — [09/Dec/2016:08:34:07 +0300] «GET /sitemap-pt-post-2013-06.xml HTTP/1.0» 200 5401
217.69.134.11 — — [09/Dec/2016:08:34:22 +0300] «GET /sitemap-pt-post-2009-09.xml HTTP/1.0» 200 1404
217.69.134.29 — — [09/Dec/2016:08:35:01 +0300] «GET /sitemap-pt-post-2012-04.xml HTTP/1.0» 200 4487
При помощи сервиса 2IP удалось установить, что IP 157.55.39.* и 207.46.13.* принадлежат Microsoft Corporation:
Хост: msnbot-207-46-13-56.search.msn.com
Город: Redmond
Страна: United States
IP диапазон: 207.46.0.0 — 207.46.255.255
Название провайдера: Microsoft Corporation
Другая сеть 217.69.134.* относится к Mail Group. Учитывая тот факт, что с данных двух сетей блог получает минимум трафика, принял решение забанить оба поисковика, дабы не нагружали проект. Если у вас возникла подобная проблема от этих ботов, то сделать это очень просто. Достаточно открыть корень сайта, найти файл .htaccess и вписать в него несколько строчек кода:
deny from 217.69.134
deny from 207.46.13
deny from 157.55.39
Тем самым, чтобы забанить масксеть по IP не нужно в конце ставить точку или звездочку. Если же вы хотите забанить определенные IP, то пропишите их через пробел таким образом:
deny from 217.69.134.11 207.46.13.13
Только учтите, что у ботов множество айпишников, вследствие чего стоит блокировать доступ по всей IP-сети.