چگونه جلوی ثبت نام رباتها در سایت وردپرس را سد کنیم ؟
یکی از مشکلاتی که هنگام طراحی سایت با سیستمهای مدیریت محتوا مانند وردپرس به وجود میآید، مزاحمتهایی است که رباتهای اینترنتی برای شما ایجاد میکنند. به دلیل مشخص بودن ساختار این گونه سایتها، انواع رباتهای اینترنتی شامل موارد زیر ممکن است برای شما دردسرهایی را ایجاد کنند:
- رباتهای ثبت نام در سایت
- رباتهای ارسال نظر در زیر مطالب سایت
- رباتهای آزمون و خطا برای ورود به بخش مدیریت سایت
- رباتهای عمومی که هرگونه فرم موجود در سایت شما را هدف قرار میدهند
برای مقابله با این رباتها، ابزارهای و افزونههای متعددی نیز برنامهنویسی شدهاند که به رایگان یا به صورت تجاری قابل استفاده هستند.
در این نوشته، قصد داریم برای مقابله با رباتهای نوع اول یا رباتهایی که در سایت وردپرس شما ثبت نام میکنند، یک روش ساده را معرفی نماییم. ممکن است به نظر برسد که سادهترین راه برای مقابله با رباتها، نمایش کدهای امنیتی یا Captcha است، ولی برای رعایت اصول تجربه کاربری یا UX در دنیای جدید، استفاده از Captcha میبایست آخرین راه حل شما باشد.
قطعه کدهای زیر را در انتهای فایل functions.php قالب خود درج نمایید:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
add_filter( 'registration_errors', 'roka_block_robot_signups', 10, 3 ); function roka_block_robot_signups( $errors, $sanitized_user_login, $user_email ) { list( $email_base, ) = explode( '@', $user_email ); // check for usernames starting with email_base and ending with some numbers... $username_seems_robotic = ( 1 === preg_match( '/^' . $email_base . '\d{4,}$/', $sanitized_user_login ) ); if( $username_seems_robotic ) { $errors->add( 'robot-detected', 'BLOCKED' ); } return $errors; } |
این کد، به شکلی ساده بررسی میکند که آیا نام کاربر و ایمیل وارد شده از طرف فرد ثبت نام شده، به شکل معمول ثبت نام رباتها است یا نه. رباتهای اینترنتی معمولا از حروف کوچک برای ایمیل و همان نام ایمیل پسوند شده با چند عدد به عنوان نام کاربری استفاده میکنند. برای مثال: نام ایمیل abcd@example.com به عنوان نام ایمیل و abcd1998 به عنوان نام کاربری به احتمال زیاد مربوط به یک ربات است.
بدیهی است که این روش مانع ثبت نام تمامی رباتها نمیشود ولی حجم ثبت نامهای سایت را به مقدار قابل توجهی کاهش میدهد و تا زمانی که حجم ثبت نامها زیاد نباشد، میتوانید از نصب Captcha روی فرم ثبت نام دوری نمایید.
روشهای دیگر مقابله با رباتهای مزاحم ثبت نام
علاوه بر روش فوق، میتوانید از افزونههای زیر نیز که هر یک با روشی به مقابله با رباتهای مزاحم میپردازند استفاده نمایید: