Представляю вашему вниманию мод для 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")) ?>>скачать.