Как забанить посетителя по IP-адресу

Пользуясь одним из многочисленных плагинов WordPress для безопасности, я обнаружил, что файл .htaccess в корневой папке вырос до 30 Mb! Основное содержимое этого огромного для текстового формата объема информации составляли баны ip-адресов пользователей, с которых шли попытки брутфорса. Причем, как позже выяснилось, из более чем 91 тысячи записей ip-адресов, всего 7 адресов были уникальными! Огромный файл .htaccess ужасно тормозил работу сайта. В первую очередь, удалил .htaccess полностью, затем извлек из него все упоминания ip-адресов с помощью grep:

Полученный ip_list.txt содержал как раз ту самую 91 тысячу строк из повторяющихся ip-адресов, которых оказалось всего 7 шт. Оставить только уникальные строки у меня получилось только с помощью фильтра в Excel. Скопипастил ip-шники в столбец Excel, затем Данные > Удалить дубликаты:

filter

Результат фильтрации вставляем в соответствующий файл .htaccess, который будет выглядеть примерно так:

Сгенерировать код для файла .htaccess поможет форма, опубликованная на странице этого блога о веб-разработке.

Добавить комментарий