n-wp.ru — блог о WordPress

Как забанить IP адреса списком

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

Спаммеры иногда настолько достают, что я решаюсь на бан целых подсетей, с которых идет спам. Поискав в интернете информацию, как сделать это наиболее просто и без ошибок, нашел один простой, но весьма действенный метод. Всего-то и нужно, что вставить код в шаблон вашей темы.

Смекнули, что ban.txt — это обычный текстовый файл, котрый содержит простой список IP-адресов? Вот примерно такой:

Заметили * в адресах. Вот именно так и банятся целые подсети спаммеров. Например, 94.45.166.* означает, что будут забанены адреса с 94.45.166.0 до 94.45.166.255.
Почему бы этот код просто не добавить в header.php в самое начало? Довольно удобно сидеть дома и постепенно накапливать базу IP адресов спаммеров, периодически ее просто обновляя и закидывая в блог через FTP.

7 комментариев

  • А не легче ли обновлять «Параметры => Обсуждение => Черный список» вместо того, чтобы вставлять коды и грузить по FTP?

    • С помощью FTP можно автоматизировать процесс обновления черного списка (например, синхронизация по расписанию).

  • Тиарус, проблема в том, что меня замучил спам с одной подесети. Конечно Акисмет весь его метит, но гордо мне сообщает, что в очереди стоит 200 спам комментариев и приходится их проверять. Про тот черный список, что я тебе написал — он не работает. То есть все комментарии с того IP заносятся в очередь, но я вообще не хочу их видеть.

    Я только сейчас понял, что ты предлагаешь бан подсететей — то есть с конкретного IP вообще нельзя будет написать? Я правильно понимаю?

  • Данный код не работает. Его вставка в шаблон вызывает появление страницы ошибки с текстом: «Parse error: syntax error, unexpected ‘=’ in /home/asjudc/vizualdata.ru/wp-content/themes/grey-matter/header.php on line 39».