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

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

Внимание! Все операции совешаются без подтверждения пользователем, работайте внимательно!

Интерфейс

Язык интерфейса - английский, т.к. мод предназначен для администраторов. После установки мод можно найти в административной панели форума под именем "Spam". Можно открыть его в отдельном окне. Основное рабочее окно программы выглядит так:

Функционал

Управление пользователями

Поле "Delete users by condition" - условие на языке SQL, которое определяет, каких пользователей мы хотим удалить.

Кнопка "Show Users" - показывает пользователей которые удовлетворяют условию.

Кнопка "Delete Users" - удаляет пользователей по указанному условию.

Флажок "Delete user's posts as well" - указывает, что при удалении пользователей нужно также удалить все их сообщения.

Флажок "Ban user's IP" - указывает, что при удалении пользователей нужно добавлять IP-адреса, с которых они писали сообщения в бан-лист.

Быстрый просмотр пользователей и сообщений

Поле "Delete users by condition" - условие на языке SQL, которое определяет, каких пользователей мы хотим удалить.

Кнопка "Show All Users" - показывает список пользователей в порядке, начиная от последнего зарегистрировавшегося. Позволяет быстро просмотреть список недавно зарегистрировавшихся пользователей.

Кнопка "Show All Posts" - показывает список пользователей в порядке, начиная от последнего зарегистрировавшегося. Позволяет быстро просмотреть список недавно зарегистрировавшихся пользователей.

В полях "LIMIT" можно указывать ограничения на выдаваемое количество записей. Можно указывать как одно число (тогда будет выдаваться указанное число записей, начиная с нулевой), так и два числа (тогда записи будут выдаваться начиная с указанной в первом числе и в количестве, указанном во втором числе). По умолчанию выдается 200 первых пользователей и 80 первых сообщений.

Исполнение любого запроса SQL

Кнопка "Execute SQL" позволяет выполнить любой запрос на языке SQL. Если запрос имеет результат (например SELECT), то результат выведется в виде таблице. Если в таблице присутствует поле post_id, то будет выдана расширенная форма этой таблицы, которая позволяет выборочно удалять сообщения.

Выборочное удаление сообщений

Данная форма, которая вызывается из основной рабочей форме в результате запросов по сообщениям, позволяет выборочно удалять сообщения, ее вид представлен на рисунке:

Вверху показывается SQL-запрос, которым была вызвана данная форма.

Кнопка "Refresh" повторно выполняет SQL-запрос, т.е. обновляет таблицу.

Кнопка "Delete Posts" - удаляет сообщения, отмеченные галочками.

Флажок "Ban user's IP" - указывает, что при удалении сообщений нужно добавлять IP-адреса, с которых они были написаны в бан-лист.

Ссылки "Clear All" и "Select All" и "20"-работают только со включенным java-script и соответственно сбрасывают (Clear) или устанавливают (Select) все флажки или инвертируют 20 флажков от текущего (20). Предназначены для удобного выбора нужных к удалению сообщений.

Порядок установки

Скопируйте файл admin_spam.php в каталог admin форума.

Скопируйте файл spam.htm в каталог шаблонов форума (обычно templates/subSilver).

Рекомендации пользователям

Примеры условий для запросов по пользователям:

После добавления новых IP-адресов в ban-list зайдите в управления банами и поправьте нужные вам ip-адреса. Если ip-адреса часто повторяются, можно забаннировать все ip-адреса, начиная с первого разряда, например бан на 200.*.*.*

Особенности реализации

Мод использует принятую в phpbb авторизацию. Поэтому не стоит беспокоиться о том, что им сможет воспользоваться кто-то кроме администратора. Однако для общей безопасности форума PHPBB рекомендуется папку с администраторскими скриптами защитить с помощью дополнительного пароля средствами .htaccess сервера APACHE. Это дает очень хорошую дополнительную защиту.

К сожалению, в PHPBB нет доступной стандартной процедуры для корректного связного удаления сообщений. Поэтому в данной реализации при удалении сообщений удаляются ссылки на сообщение из таблицы сообщений, таблицы текстов сообщений, а также корректируются первые и последние сообщения в темах. Если тема состоит только из удаляемого сообщения, она также удаляется. Не планируется удалять сообщения из списка слов для поиска, т.е. результаты поиска (Search) могут выдавать удаленные сообщения.

Обновления

1 ноября 2004. Добавлено выполнение нескольких скриптов SQL, разделенных точкой с запятой после которой идет перевод строки. Строки в SQL запросе, начинающиеся с символа # , пропускаются. Это сделано для загрузки таблиц, выгруженных через PHPMyAdmin.

Лицензионное соглашение

Для частных пользователей мод бесплатный. При использовании на коммерческих форумах стоимость 20$.

Если вы согласны с условиями, "phpbb_antispam")) ?>>скачать.