مدیریت کاربران در سایتهای وردپرسی، بهویژه فروشگاههای ووکامرسی، اهمیت زیادی دارد. یکی از چالشهای مدیران سایتهای وردپرسی، جلوگیری از ایمیلهای نامعتبر در هنگام ثبت نام است. در این مقاله، روشهایی برای فیلتر کردن ایمیلهای غیرمجاز و افزایش امنیت سایت بررسی میکنیم.برای این کار، افزونههای متعددی وجود دارد که به شما امکان مدیریت ایمیلهای ورودی را میدهند. اما استفاده بیش از حد از افزونهها میتواند مشکلاتی مانند کاهش سرعت سایت، افزایش مصرف منابع سرور و حتی ناسازگاری بین افزونهها را به همراه داشته باشد.
به همین دلیل، استفاده از کدهای ساده و مستقیم در قالب سایت، یک راهحل موثر و سبک برای رفع این نیاز است. در این مقاله، دو روش ساده و کاربردی برای محدود کردن ایمیلها در وردپرس و ووکامرس را به همراه کدهای آماده توضیح میدهم.
چرا جلوگیری از ثبتنام با ایمیلهای نامعتبر اهمیت دارد؟
- افزایش امنیت: جلوگیری از ایمیل نامعتبر در هنگام ثبتنام کاربران جعلی یا رباتها.
- مدیریت آسانتر کاربران: تمرکز روی دامنههای معتبر برای مدیریت بهتر.
- افزایش کیفیت اطلاعات کاربران: دریافت اطلاعات واقعی و قابل اطمینان.
محدود کردن ایمیلهای ثبتنامی در وردپرس
برای کاربران عادی وردپرس (بدون استفاده از ووکامرس)، میتوانید از کد زیر استفاده کنید. این کد دامنههای ایمیل مجاز را بررسی کرده و در صورت نامعتبر بودن ایمیل، ثبتنام را متوقف میکند.
function restrict_email_domains($errors, $sanitized_user_login, $user_email) {
// لیست دامنههای مجاز
$allowed_domains = ['gmail.com', 'yahoo.com', 'outlook.com'];
// استخراج دامنه از ایمیل
$email_domain = substr(strrchr($user_email, "@"), 1);
// بررسی دامنه
if (!in_array($email_domain, $allowed_domains)) {
$errors->add('invalid_email_domain', 'ثبتنام فقط با ایمیلهای معتبر مجاز است.');
}
return $errors;
}
add_filter('registration_errors', 'restrict_email_domains', 10, 3);
نحوه استفاده:
- این کد را در فایل
functions.php
قالب خود قرار دهید. - دامنههای مجاز را در آرایه
$allowed_domains
وارد کنید. در این کد دامنه های جیمیل، یاهو و اوتلوک مجازند. - پیامی که به کاربر نمایش داده میشود را در قسمت بررسی دامنه مشخص کنید.
- فرم ثبتنام را تست کنید.
جلوگیری از ثبتنام با ایمیلهای نامعتبر در ووکامرس
اگر سایت شما فروشگاهی است و از ووکامرس استفاده میکنید، باید از هوک اختصاصی ووکامرس استفاده کنید. کد زیر به شما کمک میکند تا دامنههای ایمیل مجاز را محدود کنید.
function restrict_email_domains_woocommerce($errors, $username, $email) {
// لیست دامنههای مجاز
$allowed_domains = ['gmail.com', 'yahoo.com', 'outlook.com'];
// استخراج دامنه از ایمیل
$email_domain = substr(strrchr($email, "@"), 1);
// بررسی دامنه
if (!in_array($email_domain, $allowed_domains)) {
$errors->add('invalid_email_domain', __('ثبتنام فقط با ایمیلهای معتبر مجاز است.', 'woocommerce'));
}
return $errors;
}
add_filter('woocommerce_registration_errors', 'restrict_email_domains_woocommerce', 10, 3);
نحوه استفاده:
- کد را به فایل
functions.php
قالب خود اضافه کنید. - مانند روش قبل، دامنههای مجاز را مشخص کنید.
- فرم ثبتنام ووکامرس را تست کنید.
نکات مهم برای بهینهسازی:
- تست کامل: قبل از اعمال تغییرات در سایت اصلی، کدها را در یک محیط آزمایشی بررسی کنید.
- بهروزرسانی دامنهها: لیست دامنههای مجاز را بر اساس نیاز خود بهروزرسانی کنید.
با استفاده از این راهکارها، نه تنها میتوانید کاربران غیرمجاز یا رباتها را مسدود کنید، بلکه از مشکلات احتمالی ناشی از افزونههای اضافی نیز جلوگیری میکنید. اگر سوالی دارید یا به راهنمایی بیشتری نیاز دارید، خوشحال میشویم که در بخش نظرات با شما گفتگو کنیم.
اگر نیاز به اطلاعات بیشتر در مورد تغییرات در حساب های کاربری دارید، این مطلب هم به شما کمک میکند: ویرایش حساب کاربری ووکامرس