Jump to content

SQL запрос для удаления пользователей

Featured Replies

Posted

Подскажите пожалуйста можно ли SQL запросом в базе удалить пользователей имеющих 0 сообщений? И если можно то какой запрос...

Мне нужно махом удалить порядка 400 пользователей.

хук вроде был, удаляет пользователей через ... дней если у ни нет ни 1 сообщения, или это стандартный инструмент в АЦ... в общем поищи...

Не за что.

Я уже не помню даже, как я изучал, но я это делал в связке с PHP, если мне не изменяет память, я основам научился по этой статье. Там правда примеры для PHP даны, но это без разницы.

  • 12 years later...

Сегодня мочил спаммеров, коих через боты зарегилось более 2000. И это при РеКапче 2, кастомных обязательных вопросах...

Посмотреть юзеров с ID выше 259, у кого пустой Location (город) и 0 постов:

SELECT
    *
FROM
    `core_members`
LEFT JOIN `core_pfields_content` ON `core_members`.member_id = `core_pfields_content`.member_id
WHERE
    `core_members`.member_id >= 259 AND `core_members`.member_posts = 0 AND `core_pfields_content`.field_6 IS NULL

И если все ОК, то грохнуть их:

DELETE
    `core_members`,
    `core_pfields_content`
FROM
    `core_members`
INNER JOIN `core_pfields_content` ON `core_members`.member_id = `core_pfields_content`.member_id
WHERE
    `core_members`.member_id >= 259 AND `core_members`.member_posts = 0 AND `core_pfields_content`.field_6 IS NULL;

Логика в том, что массовые реги пошли с какого-то ID (условно выше 259), боты редко заполняют кастомное поле Location (город; в моем IPS это field_6), а если и заполняют, то вставляют там типовые фразы (об этом ниже), и у большинства ботов 0 постов.

Типовые фразы, которые могут быть в Location вместо NULL:

want
question
allow
admin
just
register
information
talk

В моем случае, если бы знать как это делать, чистка заняла бы 10 минут. Чистка вручную (поштучно) заняла бы 15 часов. Казалось бы, есть продвинутый фильтр и очереди в ACP, но фильтр не позвляют найти пользователей, используя пустой параметр. А еще я заметил, что очерели через ACP очень долго отрабатывают - часы на 50 пользователей... Казалось бы, сделал там Purge, прошло полчаса, изменений нет (при том что Cron выполняется 1 раз в минуту). Пошел час, что-то изменилось. В общем, тоже не вариант

А это - работает отилчно! Пользуйтесь!

Стандартным поиском пользуюсь в админке по пользователям.

Юезры у которых 0 постов, отобразило - удалить или перенести в другую группу.

 

Так и в 3 вроде было.

9 минут назад, gelo сказал:

Стандартным поиском пользуюсь в админке по пользователям.

Юезры у которых 0 постов, отобразило - удалить или перенести в другую группу.

Внимательно читаем - с пустым полем Location. Никакой поиск в админке это не может. У меня легитимные пользователи имеют заполненое поле Location.

2 минуты назад, EIKA сказал:

Внимательно читаем - с пустым полем Location. Никакой поиск в админке это не может. У меня легитимные пользователи имеют заполненое поле Location.

👌

Только что, Zero108 сказал:

Живете в каком-то прошлом десятелетии. Давно уже защита от ботов придумана. Да и поле Location, наверное, можно сделать обязательным для заполнения.

Оно и есть обязательное, кэп. Боты обходят этот параметр и регятся как-то без него. Видимо, юзают уязвимости.

2 минуты назад, Zero108 сказал:

Какая версия Invision Community (IC)?

Была 4.3.6. В этой версии, видимо, юзают уязвимости. Легко обходят: ReCaptcha2, обязательные вопросы (челлендж) и верификацию емайл. 

А потом, я опубликовал способ борьбы с последствиями, а не с причиной. Если у вас полная база левых акков, защита, как вы понимаете, уже не ко времени.

Сейчас 4.7.15.

Edited by EIKA

1 минуту назад, Zero108 сказал:

Указанные SQL запросы могут не подхоить для текущей версии 4.7.x. Установите защиту от ботов. 

Вообще-то по запросам видно к какой версии они подходят. Они написаны и прекрасно работают для 4.7.x. Перестаньте строчить ответы на колчиество, и включите внимание.

3 минуты назад, Zero108 сказал:

Установите защиту от ботов. 

 

2 минуты назад, EIKA сказал:

Вообще-то по запросам видно к какой версии они подходят. Они написаны и прекрасно работают для 4.7.x.

Не рекомендую выполнять эти запросы на других версиях, отличных от 4.3.6, без предварительного теста на тестовом 4.7.x. 

Edited by Zero108

5 минут назад, Zero108 сказал:

Не рекомендую выполнять эти запросы на других версиях, отличных от 4.3.6 без предварительного теста на тестовом 4.7.x. 

С чего вдруг баня то упала, если я запрос написал под 4.7.15, а в 4.3 была другая структура БД? И уже давно все проверил и проблему решил.

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

А как блокировать доступ через Флару я и так прекрасно знаю, но не хочу это решение. Я нашел решение штатными средствами без плагинов и без Флары.

Edited by EIKA

Только что, EIKA сказал:

С чего вдруг баня то упала, если я запрос написал под 4.7.15, а в 4.3 была другая структура БД?

Указывайте, пожалуйста, на какой версии тестились те или иные запросы. Здесь телепатов нет. Детские пищалки ваши не в формате данного сообщества.

2 минуты назад, Zero108 сказал:

Указывайте, пожалуйста, на какой версии тестились те или иные запросы. Здесь телепатов нет. Детские пищалки ваши не в формате данного сообщества.

Вы в глаза что ли балуетесь? Выше 2 раза написано для какой версии запросы, и что они проверены. Кроме того, на несовмесимой версии ipb этот запрос ничего не разрушит - там другая структура (другие имена таблиц). В частности, нет префикса core_. Запрос тупо ничего не сделает.

Поищите проблему в себе - что вы тупо строчите на клавиатуре, не вникая. Фы просто форумный флудер, и этим живете. Удачи вам.

Edited by EIKA

  • 6 месяцев спустя...
1 hour ago, Tassadar said:

А у меня обратный вопрос: Как вернуть удалённого юзера? Удалили в админке и посты теперь значатся как от гостя.

  1. смотришь в ID автора поста

  2. создаешь в админке нового юзера

  3. идешь в бд в таблицу core_members, находишь созданного юзера и присваиваешь ему нужный ID

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.