سلام روز بخیر
من یک وب سایت وردپرسی دارم و یک سری یوزر اسپم در سایتم ثبت نام کردن نمی دونم چطور با ایمیل ثبت نام شدن چون فقط از طریق شماره موبایل می تونه کاربر ثبت نام کنه
حدود 4000 تا یوزر هستش و در اسم همشون کلمه RUB مشترک هستش، چطور می تونم همشون رو با هم حذف کنم ؟
سلام دوست عزیز ، خوبی ...
میتونید از این مقاله استفاده کنید ، علاوه بر این بهتون پیشنهاد میکنم در فرم ثبت نام و ورود از کپچا استفاده کنید
شاید پاسخ شما همینجا باشد
از طریق phpmyadmin یا نرم افزارهای مشابه به دیتابیس متصل شو. یک کوئری بنویس که لیست یوزرهایی که RUB رو دارند برگردونه. اگر خروجی مطابق خواسته ات بود. یک کوئری دیگه بنویس با همون شرط و همشون رو پاک کن. البته قبل از حذف حتما از دیتابیس بک اپ بگیر. مثل این کوئری
SELECT * FROM
users u
WHERE u.first_name LIKE '%RUB%';
اگه اوکی بود کوئری پاک کردن رو با همین شرط اجرا کن
DELETE FROM users u
WHERE u.first_name LIKE '%RUB%';بله درسته ممنون از راهنماییتون به این صورت میشه حذف کرد
فقط من به یک مشکل دیگه برخوردم، باید یوزر ها در wp_users قرار داشته باشن ولی این بخش اصلا در دیتابیس من وجود نداره
یک بار وردپرس رو روی یک ساب دایرکتوری نصب کردم و دیتابیس جدیدی براش ساختم و چک کردم خود وردپرس روی بخش wp_users یوزر ها رو ذخیره میکنه ولی الان در جدول های دیتابیس من نیست این بخش
پیشنهادی ندارید که چطور پیداش کنم ؟
چون اصلا در هیچ بخش این دیتابیس انگار وجود نداره، و وقتی هم با کوئری که نوشتید می خواهم پیداشون کنم چند تا نتیجه بیشتر نمایش نمیده ولی حدود 4000 تا هستن این ها
این کد کامل نیست و اشتباهه چون مشخصن برای هر user در جدول users، یکسری metavalue در جدول usermeta وجود داره.
همچنین بر اساس کانفیگ وردپرس میتونه اسم دیتابیس ایشون فرق داشته باشه و کلا پتانسیل اینو داره که دیتابیس user های دوست عزیزمون رو به فنا که هیچی ی چیزی اونورتر بده.
include ('wp-load.php');
function delete_users_by_username($search) {
$user_query = new WP_User_Query( array( 'search' => $search ) );
$users = $user_query->get_results();
if ( ! empty( $users ) ) {
foreach ( $users as $user ) {
wp_delete_user( $user->ID );
}
}
}
delete_users_by_username('نام، نام کاربری، یا ایمیل و...');
این کد را در فایلی در پوشه publichtml هاستتون بریزید بعدش در قسمتی که گفتم میتونید نام دلخواهتون رو که اسپم شده بنویسید. بعد از یکبار اجرا این فایل، مشکلتون برطرف شده و میتونید حذفش کنید.
دقت کنید من نوشتم ایمیل و نام کاربری و نام و... ولی اگر از این کد قرار هست در جای دیگه ای استفاده کنید مثلا نگهش دارید که بعدن استفاده کنید، دقت داشته باشید که فقط داده ای میتونه داده مبنا باشه که جز داده های اصلی یک user وردپرس باشه.
موفق باشید.