Страница 1 из 1
Нет массового удаления пользователей у администратора
Добавлено: 29 дек 2025, 10:39
mikhalkin
Добрый день.
Произошел спам через регистрацию пользователей, создали огромное количество пользователей со спамом. Заметил, что нету массового удаления. А надо удалить больше 2000 записей.
Re: Нет массового удаления пользователей у администратора
Добавлено: 29 дек 2025, 10:57
support
Можно через автоматизацию сделать кнопку для удаления. По умолчанию ее нет.
Re: Нет массового удаления пользователей у администратора
Добавлено: 29 дек 2025, 11:11
mikhalkin
У меня есть дополнение, а у кого нет?
Re: Нет массового удаления пользователей у администратора
Добавлено: 30 дек 2025, 14:43
Develop-Soft
Костылём..
1. Пользователь с правами удаления авторизован.
2. Страница "пользователи"
3. Нажать кнопку удаления любого пользователя (для появления формы)
4. "Инструменты разработчика [F12]" -> "Консоль".
5. Вставить код:
Код: Выделить всё
// Удаляемый диапазон пользователей (Бэкап БД крайне желателен!)
start_id = 25;
end_id = 2000;
//////////////////////////////////
(async()=>{const form=document.getElementById('delete_item_form');if(!form){console.error('Форма #delete_item_form не найдена');return;}
const actionUrl=form.action;if(!actionUrl){console.error('Атрибут action отсутствует');return;}
if(start_id>end_id){console.error('start_id не может быть больше end_id');return;}
const formData=new FormData(form);const url=new URL(actionUrl);const baseUrl=url.origin+url.pathname;const baseParams=new URLSearchParams(url.search);baseParams.delete('id');console.log(`Начинаю удаление с ID ${start_id} по ${end_id}...`);for(let id=start_id;id<=end_id;id++){const params=new URLSearchParams(baseParams);params.set('id',id);const fullUrl=`${baseUrl}?${params.toString()}`;const body=new FormData();for(const[key,value]of formData.entries()){body.append(key,value);}
console.log(`📤 Отправляю запрос на удаление ID ${id} → ${fullUrl}`);try{const response=await fetch(fullUrl,{method:'POST',body:body,credentials:'same-origin'});if(response.ok){console.log(`✅ ID ${id}: успешно удалён (статус ${response.status})`);}else{console.warn(`⚠️ ID ${id}: сервер вернул ошибку ${response.status}`);}}catch(error){console.error(`❌ ID ${id}: ошибка сети`,error);}
await new Promise(resolve=>setTimeout(resolve,100));}
console.log('✅ Цикл удаления завершён.');})();
6. Указать свой диапазон в
start_id и
end_id (главное, чтобы в него не попали нужные юзеры)
7. "Выполнить" (Enter).