В последнее время на сайты, по крайней мере в зоне RU, наблюдаю нашествие ботов с IP адресов V6. С чем связано — не понятно. Это точно не заказ, не происки конкурентов и поэтому смысл сего для меня загадка.
Все бы хорошо, но заходы нулевые (0 секунд), а это уже может стать минусом к карме сайта, да и нагрузка все-равно на хостинг идет. А значит надо что-то делать.
Как остановить нашествие ботов с IP V6?
Самый простой и пока единственный рабочий вариант приведен ниже. Смотрим, что это не IP v4 и нет реффера.
if (!empty($_SERVER['HTTP_CLIENT_IP'])) { $clientIP = $_SERVER['HTTP_CLIENT_IP']; } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $clientIP = $_SERVER['HTTP_X_FORWARDED_FOR']; } else { $clientIP = $_SERVER['REMOTE_ADDR']; } if (strlen($clientIP) > 15 && $_SERVER['HTTP_REFERER'] == ''){ exit(); }
У меня это сработало. Ставлю в скрипт самого начала загрузки. Наверняка можно и через .htaccess, но я люблю кодить.
Надеюсь кому-то кроме меня это тоже пригодиться. Пользуйтесь и удачи!
Если эта информация оказалась вам полезной и интересной, то можно поблагодарить автора любой суммой либо по номеру телефона +79807480224 (Сбер, Тинькофф)