Давно не заглядывал на форум «Я и Ubuntu» и когда сегодня зашёл на него, то ужаснулся. На нём повеселились спамеры.
Форум крутиться на Simple Machines Forum или просто smf версии 1. Сообщений было так много, что, удаляя их вручную, я бы потратил пол дня. Чтож, есть и другой вариант — БД. Быстрое гугление не дало списка SQL-запросов, которые бы вычистили все нужные таблицы, поэтому начал искать решение сам. Внимание! Я не уверен, что сделал всё правильно! Если эта заметка попадётся на глаза знатокам SMF, пожалуйста, укажите правильно ли я сделал и, если нет, то как нужно было.
Напоминать о том, что перед тем как начать необходимо сделать резервную копию БД нужно?
Для начала нужно определить дату и время с которого началась эта история и получить TIMESTAMP от неё:
SELECT UNIX_TIMESTAMP( '2012-10-01 00:00:00' )
После этого удалить все темы, созданные этими паразитами:
DELETE FROM `smf_topics` WHERE `ID_MEMBER_STARTED` IN (
SELECT ID_MEMBER
FROM `smf_members`
WHERE `dateRegistered` >1349035200
)
И сообщения:
DELETE FROM `smf_messages` WHERE `ID_MEMBER` IN (
SELECT ID_MEMBER
FROM `mauf_members`
WHERE `dateRegistered` >1349035200
)
Естественно, нужно не забыть про аккаунты этих «пользователей»:
DELETE FROM `smf_members`
WHERE `dateRegistered` >1349035200
После всех действий появилась идея добавить IP серверов роботов в бан ( как я понимаю, это таблица smf_ban_items ), но было уже поздно 🙂
Большая благодарность за коды, а то сам не много с мускулом разбираюсь.
Исправил только msmf_members на smf_members и dateRegistered в моей базе было как date_registered.
А, и еще сделал пересчет статистики форума, т.к. цифры не верные показывались после удаления.
Александр, спасибо. Поправил название таблиц в заметке.