سلام روز بخیر
من یک وب سایت وردپرسی دارم و یک سری یوزر اسپم در سایتم ثبت نام کردن نمی دونم چطور با ایمیل ثبت نام شدن چون فقط از طریق شماره موبایل می تونه کاربر ثبت نام کنه
حدود 4000 تا یوزر هستش و در اسم همشون کلمه RUB مشترک هستش، چطور می تونم همشون رو با هم حذف کنم ؟
سلام دوست عزیز ، خوبی ...
میتونید از این مقاله استفاده کنید ، علاوه بر این بهتون پیشنهاد میکنم در فرم ثبت نام و ورود از کپچا استفاده کنید
فقط یک سوال دارم، حدود 4000 تا یوزر فیک این طوری ساخته شده، و نقش مشترک دارن و در بین این ها افراد زیادی هم هستن که در سایت ثبت نام کردن ولی خریدی نداشتن. چطور باید این ها رو تفکیک کرد؟
متاسفانه همچین قابلیتی ندیدم پیشنهاد میکنم یه خروجی از کاربران که مشتری هستند بگیرید بعدش اقدام به پاک کردن نقش مورد نظر بکنید .
اگه کاربران اسپم در یک زمان مشخصی مثلا ۲۶ may ثبت نام کردم میتونید با افزونه معرفی شده در مقاله اونها پاک کنید
از طریق 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 وردپرس باشه.
موفق باشید.
درود
ممنونم فقط چطور باید اجراش کنم ؟
من در یک فایل با نام smapsd.php قرار دادم قطعه کد رو و کلمه مشترک یوزر های اسپم رو در قسمتی که قرار دادید نوشتم ولی وقتی آدرس فایل رو می نویسم اجرا نمیشه ، آدرس مثل exapmle.com/spamsd.php
ارور میده که میگید اجرا نمیشه؟ چون قراره فقط ی صفحه خالی ببینید و نتیجه رو باید داخل وردپرس چک کنید.
فرمت فایل باید php باشه. مطمئن هستید اشتباه نزدید؟
بعد توی پوشه public_html باید بزنید.
اگر نزنید ارور خواهد داد.
دوست عزیز باید کد php داخل همچین قالبی باشه و الا به این صورت که دیدید به نمایش درمیاد.
<?php
// کد شما
?>
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟