Есть у меня несколько сайтов, которые сделаны для себя. Особенного в них ничего нет. Информация вполне простая и вряд ли несет в себе большой глобальный смысл. Посещаемость у таких сайтов почти отсутствует: зайдут два-три человека в день и на этом все. Но недавно начался буквально взрывной рост. Сперва двадцать человек пришло, потом сорок, потом еще больше и еще больше. Кто это и что это?
Вообще, такая посещаемость — это норма. Правда в том случае, если вы что-то сделали для этого. Например, выложили какую-то полезную статью или попали в тренд, это заметили поисковики и стали показывать ваши труды в результатах поиска. Однако в моем случае все не так. Не было никаких статей, не было никаких условий для раскрутки, в общем, ничего для продвижения не предпринималось. И с чем можно связать такой рост посещаемости было не понятно.
Стало любопытно, кто же проявляет такую активность: люди или боты? Чтобы это понять используем несколько простых инструментов. Для начала посмотрим на данные счетчика. В моем случае это Яндекс.Метрика. Открываем Вебвизор и смотрим на посетителей. Почти все они пришли с мобильных устройств, активность в районе минуты. Ничего путного не делали: открыли страницу, подождали, пролистали, может быть зашли на другую страницу и там такое же поведение. Вряд ли бы люди вели себя так однообразна. Значит имеет дело с ботами.
К сожалению Яндекс.Метрика ничего не могла сказать про IP этих «товарищей». У всех одна IP-сеть: «IPv4 address block not managed by the RIPE NCC». Так что воспользуемся вторым инструментом: откроем лог веб-сервера access_log. Находим по дате и времени того, кто к нам пришел и смотрим на его IP-адрес.
2a09:a4c7:4965:45a8:a62f:64e6:df9c:226d — — [08/Mar/2021:04:50:31 +0300] «GET / HTTP/1.1» 200 0 «-» «Mozilla/5.0 (Linux; Android 8.0.0; AUM-L41) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36»
Самое первое в этой строке до тире – это IPv6 адрес. Блокировать такой адрес средствами веб-сервера немного не просто. Но можно. Так что я решил просто заблокировать все запросы с этого адреса. Благо, только с него вся эта суета и была.
Мое спокойствие продлилось где-то часов десять. После снова всплеск посещаемости и снова все запросы идут с IPv6 адресов. Теперь уже их стало два. Ладно, где один там и два, и три – в блокировку ушли и другие два товарища. Но это тоже не помогло, так как добавились очередные адреса и уже даже пошло разнообразие – сменилась подсеть.
Блокировать все IPv6 адреса не хотелось. Нужно было какое-то другое решение. И я избрал программный путь. Благо все запросы все равно ведут на один php-файл. Вот пусть он и разрулит ситуацию: все странные ip-адреса будут проверяться по маске и редиректом отправляться на известный сайт с известным содержимым. И такое решение действительно помогло примерно на сутки. Активность ботов удалось снизить.
Вроде бы не плохое решение, но оно тоже временное. Потому что авторы ботов не оставляют свою жертву просто так. Они начинают долбить с других сетей, в основном мобильных операторов. На первом месте Megafon, на втором (гораздо реже) Tele2. Отключить всех посетителей мобильно трафика от сайта вообще не вариант. Даже если этот сайт и так почти никто не посещает.
Спросил интернет, что делают в таких случаях. Советы дают разные, но все они так или иначе сводятся именно к блокировке, составлению разных список и фильтров. И большинство пытается именно заблокировать этих «товарищей». Я решил, что постоянная блокировка это не мой вариант. Не хочется постоянно сделать за тем, кто зашел на сайт — бот или человек. Лучше уж просто боту не давать код счетчика.
Тогда получаем примерно следующее:
а) Бот видит, что его не блокируют;
б) Бот получает содержимое страницы;
в) Бот даже эмулирует действия пользователя. Но так как счетчика на странице нет, то такое посещение не засчитывается.
Как по мне, это профит. Так что небольшой скрипт, в который я загнал основные сетки, откуда долбили меня боты, был написан и размещен на сайте. И по итогу все заиграло иными красками. Теперь «левые заходы» из IPv6 случаются крайне редко. Если кто-то все же зашел, то он пополняет список тех, кто не должен видеть счетчик. Но в статистике периодически присутствуют проверяющие боты – те, кто видит, что содержимое страницы для одного бота отличается от содержимого для другого бота. Такие контрольные проверки случаются и даже несколько раз в день. Но здесь уже сами решите терпеть их или нет. Заходят «проверяльщики» из уже озвученных мобильных сетей. Я их трогать (пока) не стал – пусть видят, что основные их коллеги своей цели не достигают.
Собственно, про цели. А зачем это все? Например, для того, чтобы понизить сайт в результатах поиска. Так как поисковики с помощью счетчиков оценивают поведение посетителей, то действия на сайте, которые ровным счетом ничего не дают, сообщают поисковику, что сайт сделан плохо. И тогда не нужно показывать его где-то в первых результатах выдачи. Иными словами, идет пессимизация конкурента. А такие сайты как мои, где и без того никого нет, служат не плохой площадкой для тестов бота.