آیا با مشکل کپچا در وبسایت وردپرسی مواجه هستید؟ دلایل رایج اختلال در عملکرد CAPTCHA یا reCAPTCHA میتواند شامل استفاده از نام دامنه یا کلید نادرست، بروز مشکلات مرتبط با دادههای کششده، ناسازگاری بین افزونهها و همچنین تنظیم بیشازحد حساسیت امتیاز CAPTCHA باشد. در ادامه مقاله، روشهایی جهت رفع مشکل کپچا برای وبسایت وردپرس، ارائه میشود.
تصویر(1)
رفع مشکل کپچا در وردپرس
برای رفع مشکل کپچا در سایت وردپرس، باید مراحل زیر به ترتیب انجام شوند. پیشنهاد میگردد هر مرحله را جداگانه امتحان کرده و با انجام هر کدام از آنها، بررسی نمایید که آیا مشکل رفع شده یا خیر و سپس به مرحله بعدی مراجعه کنید.
نکته مهم: حتماً از کل وبسایت نسخه پشتیبان تهیه نمایید. ممکن است طی این مراحل نیاز باشد نرمافزارهای نصبشده روی سایت بروزرسانی شوند یا افزونههای جدیدی نصب گردند.
هرچند این موارد بهندرت سبب بروز مشکل میشوند اما گاهی اوقات نصب یا بروزرسانی افزونه میتواند باعث از کار افتادن سایت شود؛ بنابراین داشتن نسخه پشتیبان، این امکان را فراهم می کند تا در صورت بروز مشکل، بتوان سایت را بازیابی کرده و مجدد اقدامات لازم را انجام داد.
۱. اصلاح کلیدهای نادرست و نام دامنه اشتباه
جهت راهاندازی reCAPTCHA در وردپرس، لازم است دامنه سایت در سرویس Google reCAPTCHA ثبت شود و کلید سایت (Site Key) دریافت گردد. وارد کردن اشتباه کلیدها یا نام دامنه میتواند باعث از کار افتادن reCAPTCHA شود.
اصلاح کلیدهای نادرست
برای این کار باید به داشبورد reCAPTCHA در گوگل مراجعه و با انتخاب دامنه مربوطه، وارد بخش تنظیمات (Settings) شوید.
تصویر(2)
تصویر(3)
در وردپرس، به بخش تنظیمات افزونه CAPTCHA مراجعه نموده و کلیدهای کپیشده را در محل مربوطه وارد کنید. در صورت استفاده از افزونه CAPTCHA 4WP، این کار بهسادگی با کلیک روی دکمه «پیکربندی کپچا» قابل انجام است. CAPTCHA 4WP افزونه ای اختصاصی برای وردپرس می باشد که در این آموزش نیز برای رفع مشکل کپچا از آن استفاده شده است. با این حال، اگر افزونه متفاوتی استفاده می کنید، مراحل کمی متفاوت خواهند بود.
تصویر(3)
اصلاح نام دامنه نادرست
در مرحله بعد، باید اطمینان حاصل شود که نام دامنه وارد شده صحیح باشد. بدین منظور، وارد حساب کاربری Google reCAPTCHA شده و به بخش Domains مراجعه نمایید. در این بخش باید بررسی شود که نام دامنه بدون پیشوند https:// و بدون اسلش (/) انتهایی وارد شده باشد. فرمت صحیح نام دامنه، مشابه مثال زیر است:
example.com
با اطمینان از صحت نام دامنه، به پایین صفحه رفته و روی دکمه Save کلیک نمایید. سپس عملکرد CAPTCHA را در سایت مورد بررسی قرار دهید.
۲. اطمینان از رسیدن درخواستها به سرویسدهنده CAPTCHA
برای اینکه CAPTCHA بهدرستی کار کند، لازم است که وبسایت وردپرسی بتواند با سرویسدهنده CAPTCHA ارتباط برقرار کند زیرا آزمونهای CAPTCHA روی سرورهای سرویسدهنده اجرا میشوند. اگر با دلایلی مانند عدم برقراری اتصال شبکه، قوانین محدودکننده فایروال، قطع بودن سرور میزبان و ... درخواستها به سرویسدهنده CAPTCHA نرسند، مشکل کپچا در سایت رخ می دهد.
بررسی وضعیت سرور میزبانی
ابتدا باید مطمئن شد که سرور میزبانی سایت فعال و در حال کار است. هنگامی که کاربری فرمی را ارسال میکند یا وارد حساب کاربری در وردپرس میشود، سایت باید بتواند با سرویسدهنده CAPTCHA مانند Google reCAPTCHA، hCAPTCHA یا Cloudflare Turnstile ارتباط برقرار کند تا پاسخ کاربر اعتبارسنجی شود.
در صورتی که سرور میزبانی قطع باشد، ارتباط با سرویسدهنده برقرار نشده و حتی اگر کاربر پاسخ صحیح داده باشد، اعتبارسنجی CAPTCHA انجام نمیشود.
برای بررسی وضعیت سرور میتوان از ابزارهایی مانند Is It Down Right Now یا Hosting Checker استفاده کرد یا مستقیماً با پشتیبانی شرکت هاستینگ تماس گرفت و وضعیت سرور را جویا شد.
تصویر(4)
غیرفعال کردن فایروال جهت رفع مشکل کپچا
فایروالهای وبسایت وظیفه بررسی ترافیک ورودی و جلوگیری از دسترسی ترافیک مخرب به سایت را بر عهده دارند اما گاهی اوقات، این فایروالها ممکن است بهصورت ناخواسته باعث ایجاد اختلال در ارتباط میان سایت وردپرسی و سرویسدهنده خارجی CAPTCHA شوند.
برای اطمینان از عبور صحیح ترافیک، باید بررسی شود که فایروال اجازه ارسال درخواست به آدرس IP های سرویسدهنده CAPTCHA را میدهد. همچنین میتوان وارد پنل مدیریت سرویسدهنده CAPTCHA شد و بررسی کرد که آخرین درخواستها چه زمانی ثبت شدهاند.
اگر هیچ درخواستی ثبت نشده باشد، معمولاً به معنی وجود مشکل در فایروال یا اتصال شبکه است. در این حالت، می بایست لاگ فایروال بررسی گردد تا مشخص شود آیا درخواستهای خروجی مسدود شدهاند یا خیر.
در مرحله بعد، با تست پینگ از سرور سرویسدهنده CAPTCHA، میتوان وضعیت اتصال را بررسی کرد.
۳. تنظیم سطح امتیاز CAPTCHA
در نسخه سوم Google reCAPTCHA (v3)، هر تعامل کاربر با CAPTCHA یک امتیاز بین ۰.۰ تا ۱.۰ تولید میکند که بر اساس رفتار کاربر تعیین میشود. هرچه امتیاز بالاتر باشد، احتمال اینکه کاربر یک ربات در نظر گرفته شود، بیشتر خواهد بود.
پیشنهاد میشود سطح آستانه امتیاز (Score Threshold) که در reCAPTCHA v3 برای سایت تنظیم شده، بررسی گردد. ممکن است این آستانه بیشازحد بالا تعیین شده باشد که در نتیجه آن، کاربران واقعی نیز رد میشوند.
میتوان سطح امتیاز را از طریق همان افزونه CAPTCHA یا reCAPTCHA که در سایت نصب شده تنظیم کرد. در افزونه CAPTCHA 4WP، این گزینه بهسادگی از تنظیمات افزونه قابل تغییر است.
تصویر(5)
۴. پاک کردن کش سرور
کش فرآیندی است که در آن نسخهای از صفحات، تصاویر، فایلهای CSS و JavaScript، در حافظه ذخیره میشوند تا هنگام مراجعه مجدد کاربر، این منابع سریعتر بارگذاری شده و تجربه کاربری بهتری فراهم گردد.
کش ممکن است نسخه قدیمی از چالشهای CAPTCHA یا توکنهای اعتبارسنجی را ذخیره و در مرورگر نمایش دهد که یکی از معایب آن می باشد. این موضوع میتواند مشکلاتی مانند نمایش تصاویر منقضیشده CAPTCHA یا استفاده از اسکریپتهای قدیمی ناسازگار با نسخه فعلی را بههمراه داشته باشد. در نتیجه، کاربران قادر به تکمیل صحیح فرآیند اعتبارسنجی CAPTCHA نخواهند بود.
با پاکسازی کش سمت سرور، میتوان اطمینان حاصل کرد که جدیدترین چالشها و فرآیندهای اعتبار سنجی CAPTCHA برای بازدیدکنندگان نمایش داده میشود. برخی شرکتهای هاستینگ، پنلهایی برای مدیریت کش ارائه میدهند که از طریق cPanel یا پنل اختصاصی هاست در دسترس هستند. برای مثال، شرکت NameCheap از LiteSpeed Web Cache Manager استفاده میکند که توسط آن میتوان کش سرور را پاک کرد.
تصویر(6)
راهکار دیگر این است که CAPTCHA را از فرآیند کش مستثنا کنید. این کار باعث میشود اسکریپت CAPTCHA به جای نسخه کششده، مستقیماً از منبع بارگذاری شود.
۵. بروزرسانی افزونهها، قالب و هسته وردپرس
در وبسایتهای وردپرسی، اغلب از افزونهها برای پیادهسازی CAPTCHA استفاده میشود.
توسعهدهندگان این افزونهها بهطور مرتب بروزرسانیهایی برای رفع باگها و هماهنگی بیشتر با نسخههای جدید وردپرس منتشر میکنند. افزونه های قدیمی یا منسوخ شده CAPTCHA یا reCAPTCHA، احتمال ناسازگاری با سایر افزونهها یا هسته وردپرس را دارند و میتوانند موجب اختلال در عملکرد CAPTCHA شوند.
با بروزرسانی افزونه CAPTCHA و سایر افزونههای نصبشده، میتوان از سازگاری کامل آنها و رفع مشکلات احتمالی اطمینان حاصل کرد. نسخههای قدیمی قالب یا هسته وردپرس نیز ممکن است در عملکرد افزونههای CAPTCHA اختلال ایجاد کنند. بنابراین، هنگام رفع مشکلات ناسازگاری، توصیه میشود قالب و هسته وردپرس به آخرین نسخه موجود بروزرسانی گردد.
۶. استفاده از افزونه ای متفاوت برای فرم ها
ممکن است با وجود اینکه افزونه CAPTCHA یا reCAPTCHA بهدرستی نصب و تنظیم شده باشد اما همچنان مشکلاتی در این زمینه ایجاد گردد که دلیل آن ناسازگاری بین افزونه فرم و CAPTCHA باشد.
دلایل مختلفی وجود دارد که باعث میشود افزونه فرم با افزونه CAPTCHA یا reCAPTCHA ناسازگار باشد.
برای مثال، افزونههای CAPTCHA معمولاً در تعامل با فرمهایی که داخل یک iframe قرار دارند دچار مشکل میشوند. استفاده از iframe در افزونههای فرم معمولاً به دلایل طراحی یا عملکرد فنی ضروری است اما این موضوع میتواند باعث شود که CAPTCHA روی سایت وردپرس بهدرستی عمل نکند.
یکی دیگر از دلایل رایج برای این ناسازگاری، مشکلات مربوط به اعتبارسنجی توسط AJAX است. AJAX این امکان را فراهم می کند که بخشهایی از یک صفحه بدون نیاز به بارگذاری کامل، بروزرسانی شده و تجربه کاربری روانتری ارائه گردد.
هر دو افزونه فرم و CAPTCHA ممکن است از AJAX برای ارسال فرم و اعتبارسنجی استفاده کنند اما روش اجرای آنها متفاوت باشد. روند اعتبارسنجی فرم از طریق AJAX ممکن است باعث شود فرآیند تأیید CAPTCHA بهدرستی صورت نگیرد یا بهطور کامل دور زده شود. در نتیجه، ثبت فرم و تأیید CAPTCHA با اختلال مواجه خواهد شد. برای بررسی ناسازگاری افزونه فرم و CAPTCHA، میتوان یکی از آنها را با نمونه دیگری جایگزین نمایید. اگر مشخص شد که مشکل از افزونه فرم است، از توسعهدهندگان آن کمک بگیرید.
تصویر(7)
۷. استفاده از یک افزونه اختصاصی جهت رفع مشکل کپچا
تغییر به یک افزونه اختصاصی برای رفع مشکل کپچا، میتواند راهحل مناسبی باشد زیرا این نوع افزونهها معمولاً امکانات کامل تری داشته و با تعداد بیشتری از افزونههای جانبی وردپرس سازگاری بهینه دارند.
در میان افزونههای اختصاصی متعددی که وجود دارد، استفاده از CAPTCHA 4WP پیشنهاد می شود. این افزونه بهصورت پیشفرض با بسیاری از افزونههای پرطرفدار مانند Contact Form 7، Gravity Forms، BuddyPress و سایر افزونهها سازگار است.
CAPTCHA 4WP از چندین ارائهدهنده CAPTCHA مانند Google reCAPTCHA ،hCAPTCHA و Cloudflare Turnstile پشتیبانی میکند. (در نسخه Premium)
تصویر(8)
این افزونه قابلیتهایی مانند محدودسازی جغرافیایی (Geoblocking)، کنترل کامل بر تنظیمات CAPTCHA شامل زبان، پیام خطا، رنگها، اندازه و محل نمایش نشان کپچا را در اختیار شما میگذارد.
تصویر(9)
با قابلیتهایی مانند نمایش کپچا فقط در صورت ورود ناموفق، حذف CAPTCHA از صفحات خاص، لیست سفید آدرس IP، غیرفعال کردن کپچا برای کاربران واردشده به سایت و همچنین پشتیبانی حرفهای، افزونه CAPTCHA 4WP یک ابزار کامل جهت ایمنسازی وبسایت و بهبود تجربه تعامل کاربران ارائه میدهد.
تصویر(10)
تست افزونه کپچا
بعد از پیادهسازی راهکارهایی که در بخش قبلی اشاره شد، لازم است اطمینان حاصل شود که افزونه از سمت کاربر (یعنی بازدیدکنندگان سایت) بهدرستی کار میکند.
مشکلات مرتبط با CAPTCHA معمولاً باعث ایجاد اختلالاتی همچون عدم بارگذاری یا کندی، نمایش ندادن تصویر یا صدای کپچا، نیاز به بارگذاری مجدد یا عدم موفقیت در ارسال فرم میشوند. اکثر این مشکلات به دلایلی مانند اتصال ناپایدار اینترنت، استفاده از نسخههای قدیمی مرورگر یا افزونهها، مشکلات مربوط به سرور و موارد مشابه برمیگردند.
برای اطمینان از یک تجربه کاربری روان، بهتر است دستورالعملهای واضح همراه با لینک به راهنماهای رفع مشکل و ویدئوهای آموزشی در اختیار بازدیدکنندگان قرار داده شود. این آموزشها میتوانند شامل مواردی مانند بررسی پایداری اتصال اینترنت، پاک کردن کش Google Chrome یا Mozilla Firefox، بروزرسانی مرورگر و غیرفعال کردن تمام افزونههای آن باشند تا از هرگونه تداخل با فرآیند تأیید CAPTCHA یا reCAPTCHA جلوگیری شود.
با پیشبینی و رفع مشکلات احتمالی از سمت کاربر، میتوان اطمینان حاصل کرد که افزونه CAPTCHA بهشکلی پایدار و مؤثر برای تمام بازدیدکنندگان سایت عمل میکند.
جمعبندی
CAPTCHA یا reCAPTCHA ابزارهای مهمی هستند که به محافظت از وبسایت وردپرسی در برابر اسپم، ثبتنامهای جعلی و سفارشهای تقلبی کمک میکنند. زمانی که این ابزارها بهدرستی عمل نکنند، وبسایت در معرض تهدیدات امنیتی قرار میگیرد.
برای رفع مشکل کپچا، باید اقداماتی مانند موارد زیر انجام شود:
- اصلاح دامنه یا کلید سایت (site key) اشتباه
- اطمینان از اینکه درخواستهای سایت به سرویسدهنده CAPTCHA میرسند.
- تنظیم مجدد نمره CAPTCHA تا بیشازحد بالا تنظیم نشود.
- پاکسازی کش سرور
- بروزرسانی افزونهها، قالبها و هسته وردپرس
- استفاده از افزونه ای متفاوت برای فرم ها
- و در نهایت، تعویض افزونه CAPTCHA با یک نمونه بهتر