آموزش نصب کپچا حرفه ای کلودفلر در وردپرس (Cloudflare Turnstile)
یکی از راهکارهای افزایش امنیت در وردپرس استفاده از کپچا است. کپچاها این امکان را فراهم میکنند تا از درخواستهایی تکراری که عموما با استفاده از ربات از طریق فرمها ارسال میگردد، جلوگیری کرده و بار روی سرور را از نظر مصرف منابع به حداقل برسانیم.
انواع روشهای مختلف برای استفاده از کپچا در وردپرس وجود دارد که شامل کپچای متنی، کپچای پازلی و کپچا خودکار نظیر Google Captcha و Hcaptcha میشود. اما هر یک از این روشها دارای مشکلات خاص خود هستند؛ خصوصا در ایران که دانش عمومی افراد عادی جامعه در زمینه استفاده از وب پایین است. طوری که بسیاری افراد اصلا نمیدانند که کپچا چیست.
در ادامه این نوشته از وبلاگ سون هاست، به معرفی یکی از جدیدترین راهکارها برای استفاده از کپچا حرفه ای کلودفلر در وردپرس که به تازگی با نام Cloudflare Turnstile از این شرکت فعال ارائه شده خواهم پرداخت.
نصب کپچا حرفه ای کلودفلر در وردپرس (Cloudflare Turnstile)
شرکت کلودفلر جزو بزرگترین شرکتهای فناوری در زمینه زیرساخت ابری و ارائه CDN است که میلیونها سایت از خدمات این شرکت استفاده میکنند. سرویس CDN این شرکت محبوبترین محصولی است که بهمنظور افزایش امنیت و از همه مهمتر دفع حملات دیداس و بروتفورس که موجب از کار افتادن سرور سایتها میشود، مورد استفاده قرار میگیرد.
به تازگی این شرکت محصول خود را برای جلوگیری از درخواستهای مشکوک که توسط رباتها و حتی افراد با ip مشکوک در سایتها استفاده میشود، با نام Turnstile معرفی کرده است. این سرویس درواقع محصولی مشابه کپچا گوگل و سایر شرکتها است؛ با اندکی تفاوتهای اساسی.
یکی از مشکلات گوگل کپچا، خصوصا برای ما کاربران ایرانی به دلیل استفاده از ابزار تغییر ip؛ مشکوک بودن درخواستهای ما است که سبب میشود گاها شما بیش از ۱۰ بار تصاویری که از شما خواسته میشود را انتخاب کنید تا در نهایت بتوانید از این مرحله سخت عبور کنید.
مشکل دیگر گوگل کپچا نیز حریم خصوصی و تبلیغات است. همه ما میدانیم که گوگل یک شرکتی است که بیشترین درآمد خود را از طریق تبلیغات تامین میکند. از همینرو کپچا گوگل راهکاری است که این شرکت از آن برای ارزیابی کاربران از آن استفاده میکند. با اینکه شاید چون از سایر محصولات این شرکت استفاده میکنیم زیاد مهم نباشد؛ اما همین مسئله حل کردن چالشهای تصویری خود برای همه ما یک عذاب است.
اما در سرویس Cloudflare Turnstile چنین گامی وجود ندارد. بلکه کلودفلر از همان لحظه آغازین که کاربری وارد سایتی میشود، رفتار وی را از طریق چند فاکتور مورد ارزیابی قرار میدهد. اگر کاربر مشکوک نباشد، لزومی به کلیک کردن یا انتخاب تصاویر نیست. اما اگر مشکوک بود، کافی است روی کپچا یکبار کلیک کند تا بر اساس درخواستی که روی مرورگر ارسال و بررسی میگردد هویت وی از نظر نداشتن فعالیت مشکوک تایید گردد.
گام اول: نصب افزونه Cloudflare Turnstile
برای این منظور میتوانید از افزونه Simple Cloudflare Turnstile استفاده کنید که به صورت کاملا رایگان در مخزن وردپرس منتشر شده است. این افزونه تاکنون موفق شده که بیش از ۲۰.۰۰۰ نصب فعال را به خود اختصاصی دهد و جدای از اینکه امکان استفاده از کپچا را در فرمهای اصلی وردپرس فراهم میکند، با افزونههای متعددی سازگار است.
پس از نصب افزونه روی دکمه فعالسازی کلیک کنید. سپس گام دوم این آموزش را برای افزودن سایت به Turnstile کلودفلر و دریافت Site key و Secret key طی کنید. در نهایت در گام سوم به سراغ تنظیمات افزونه و نحوه راهاندازی آن برمیگردیم.
گام دوم: افزودن سایت به کلودفلر و دریافت کلیدهای Turnstile
برای این منظور لازم است که در سایت کلودفلر ثبت نام کنید. در صورتی که حساب کاربری ندارید با مراجعه صفحه Cloudflare SignUp یک حساب کاربری برای خود ایجاد کنید و واد حساب کاربریتان شوید. در صورتی که از خدمات کلودفلر استفاده میکنید یا اینکه سایت شما بر روی کلودفلر قرار دارد، کافی است وارد حساب خود شوید.
پس از ورود به داشبورد اصلی مشابه تصویر زیر باید از منوی سمت چپ روی منوی Turnstile کلیک کنید(۱) و سپس در صفحه باز شده روی دکمه Add Site کلیک کنید(۲).
در مرحله بعد وارد صفحهای مشابه تصویر زیر خواهید شد که باید دامنه خود را وارد کنید و سبک مورد نظر برای کپچا را انتخاب کنید. این مراحل به ترتیبی که در تصویر وارد شده طبق ادامه توضیحات باید وارد شوید.
- نام دامنه خود را در فیلد Site name وارد کنید. این نام فقط برای تفکیک سایتها از یکدیگر در بخش Turnstile مورد استفاده قرار میگیرد.
- از فیلد Domain میتوانید دامنه خود را در صورتی که بر روی DNS های کلودفلر قرار دارد انتخاب کنید. در غیر اینصورت اگر از CDN کلودفلر استفاده نمیکنید، کافی است نام دامنه خود را بدون وارد کردن
www
،HTTP
یاHTTPS
وارد کنید. اگر از سابدامنه استفاده میکنید، آدرس آن را بهصورتsub.domain.com
وارد کنید. - در بخش Widget Mode باید سبک مورد نظر برای کپچا را انتخاب کنید. توصیه میکنم از همان حالت پیشفرض Managed استفاده کنید.
توجه داشته باشید که سبکهای Widget Mode هر یک بر اساس زیر عمل میکنند:
- حالت Managed: در این حالت کلودفلر با توجه به رفتار کاربر برای حل کپچا تصمیم میگیرد. اگر کاربر مشکوک نباشد، کپچا به صورت خودکار تیک سبز خواهد خورد و کاربر هیچ لزومی برای کلیک کردن ندارد. در غیر این صورت باید روی کپچا کلیک کند تا هویت وی برای ربات نبودن تایید گردد.
- حالت Non-interactive: در این حالت بدون اینکه نیاز به انجام کاری باشد، زمانی که نیاز به لود کپچا باشد یک نوار بارگیری نمایش داده میشود و پس از تایید هویت کاربر چالش کپچا حل خواهد شد.
- حالت Invisible: در این حالت نیز بدون اینکه کاربر لزومی به انجام کاری داشته باشد، چالش کپچا در حالتی که مخفی است طی خواهد شد که اگر کاربر مشکوک نباشد، به صورت خودکار انجام میگیرد.
- در نهایت به منظور دریافت کلیدهای اختصاصی دامنه خود روی دکمه Create کلیک کنید.
در این صورت وارد مرحله بعدی خواهید شد که مانند تصویر زیر کلید عمومی و کلید خصوصی برای دامنهای که وارد کردید ایجاد خواهند شد.
کلید اول(۱) کلید عمومی سایت است و گزینه دوم(۲) هم کلید خصوصی است که باید این دو گزینه را کپی کرده و در تنظیمات افزونه طبق توضیحاتی که در ادامه داده میشود وارد کنید.
گام سوم: تنظیمات افزونه Cloudflare Turnstile وردپرس
برای دسترسی به تنظیمات افزونه Cloudflare Turnstile وردپرس مشابه تصویر زیر میتوانید از منوی تنظیمات> Cloudflare Turnstile اقدام کنید.
- کلید Site Key دریافتی از کلودفلر را در کادری با همین نام وارد کنید.
- کلید Secret Key دریافتی از کلودفلر را در کادری با همین نام وارد کنید.
- روی دکمه ذخیره تغییرات کلیک کنید.
در این صورت کلیدها بررسی خواهند شد و در صورتی که صحیح باشند به منظور تست کارکرد افزونه در مرحله بعد مشابه تصویر زیر کپچا به شما نمایش داده خواهد شد.
همانطور که در تصویر بالا میبینید در اینجا بدون اینکه به رفتار من مشکوک شود کپچا حل شده و تیک سبز Success! نمایش داده شده است. در صورتی که به شما مشکوک شد و درخواست حل کپچا شد، کافی است یک بار روی آن کلیک کنید تا به همین ترتیب تیک سبز نمایش داده شود.
در نهایت روی دکمه Test Response کلیک کنید تا تست کپچا نیز کامل شده و کارکرد افزونه کپچا کلودفلر در سایت شما کامل گردد.
حال در مرحله بعد با توجه به افزونههایی که در سایت خود دارید، شامل فرمسازها، افزونههای فروشگاهی و فرمهای مختلف خود وردپرس مانند فرمهای ورود و… باید تعیین کنید که میخواهید کپچا در چه بخشهایی نمایش داده شود.
برای این منظور نیز در همان صفحه افزونه کافی است کمی به پایین اسکرول کرده و به ترتیب زیر عمل کنید.
تنظیمات کلی افزونه Cloudflare Turnstile
تنظیمات این افزونه که در ادامه کلیدهای اختصاصی هستند، شامل دو بخش است که برای استایل نمایشی افزونه و انتخاب فرمهایی است که کپچا نمایش داده میشود. در بخش اول که با نام General Settings مشابه تصویر زیر میبینید، میتوانید تنظیمات ذکر شده را کنترل کنید.
- با گزینه Theme میتوانید کپچا را در دو حالت تاریک یا روشن انتخاب کنید. یک گزینه هم با نام Auto وجود دارد که اگر آن را انتخاب کنید، بر اساس تم سیستم عامل کاربر (Dark Mode) حالت روشن یا تیره نمایش داده میشود.
- از گزینه Language میتوانید زبان مورد نظر را برای نمایش در کپچا انتخاب کنید. در حال حاضر زبان فارسی پشتیبانی نمیگردد.
- با انتخاب گزینه Appearance Mode روی حالت Always کپچا برای همه کاربران نمایش داده میشود. اما اگر از حالت Interaction Only استفاده کنید، کپچا فقط در حالتی که کاربر باید آن را حل کند نمایش داده خواهد شد.
- با فعال کردن گزینه Disable Submit Button دکمه ارسال در فرمهایی که کپچا فعال است، تا زمانی که کپچا حل نشده باشد غیرفعال شده و قابل کلیک نخواهد بود. توصیه میکنم از این حالت استفاده کنید.
- با وارد کردن متن دلخواه در کادر Custom Error Message هم زمانی که کاربر موفق به حل کپچا نشده باشد، این متن نمایش داده میشود.
در زیر همین تنظیمات یک فرم هم مانند تصویر زیر وجود دارد که با فعال کردن تیک گزینه Logged In Users میتوانید تعیین کنید که کپچا به کاربرانی که وارد حساب کاربری خود شدهاند نمایش داده نشود.
با وارد کردن ip های ثابت در کادر IP Addresses نیز میتوانید مشخص کنید که کپچا به کاربرانی که این آیپی ها را دارند نمایش داده نشود. هر ip را در یک خط وارد کنید.
تنظیمات بعدی در بخش Enable Turnstile on your forms قرار دارند که میتوانید مانند تصویر زیر تعیین کنید که کپچا در چه فرمهایی نمایش داده شوند.
مشابه تصویر بالا من انتخاب کردم که کپچا در صفحات و فرمهای صفحه ورود وردپرس، فرم ثبت نام وردپرس، فرم فراموشی کلمه عبور و دیدگاهها نمایش داده شود. در صورت فعال کردن Ajax comments form فرم نظراتی در قالب شما آجاکسی باشند، مانند فرم پاسخ به دیدگاه سایر کاربران؛ امکان فعال کردن کپچا را دارد.
بخش Other Integrations نیز شامل لیست افزونههای دیگری است که این افزونه از آنها پشتیبانی میکند. در صورتی که هر یک از افزونههای ذکر شده را در سایت خود داشته باشید، در همان بخش Enable Turnstile on your forms کادر مخصوص خود را برای استفاده از این کپچا خواهند داشت که در تصویر زیر نمونهای از آن را برای افزونه گرویتی فرم مشاهده میکنید.
البته لازم به ذکر است که اگر لایسنس اصلی افزونه گرویتی فرم را داشته باشید، خود این افزونه در قالب Add-on (افزودنی) امکان استفاده از این کپچا را در اختیارتان قرار میدهد و لزومی به استفاده از این افزونه نخواهید داشت. خصوصا اینکه استفاده از اددان اختصاصی خود گرویتی فرم، دارای بلوک است که میتوانید کپچا را در هر جایی که خواستید در همان فرم ساز نمایش دهید.
در انتهای صفحه نیز یک گزینه با نام Delete all of this plugins saved options when the plugin is deleted via plugins page قرار داده شده است که در صورت فعال کردن آن، اگر روزی افزونه را غیرفعال و حذف کردید، کلیه دادهها و تنظیمات آن حذف خواهند شد.
جمعبندی نهایی و کلام آخر
به لطف ارائه کیفیت بالای اینترنت در ایران که مجبور به استفاده از انواع و اقسام سرویسها برای تغییر ip هستیم، پس از مدتی ip این سرویسها که جنبه استفاده عمومی دارند لیک شده و در فهرست آیپی مشکوک قرار میگیرند. از همین جهت در استفاده از سرویسهای کپچا نظیر گوگل همیشه با مشکل مواجه هستیم.
اما شرکت کلودفلر به واسطه خدمات گسترده و محصولات متنوعی که دارد، طوری است که بر اساس رفتار روزمره ما در سایتهای مختلف میتواند کنترل بهتری روی این موضوع داشته باشد. از همینرو اگر مجبور به استفاده از کپچا در سایت خود هستید، پیشنهاد میکنم آن را با سرویس Cloudflare Turnstile جایگزین کنید.
امیدوارم که از این آموزش هم نهایت استفاده را برده باشید. در صورت داشتن هر گونه سوال یا مشکلی از بخش دیدگاهها مطرح کنید تا شما را راهنمایی کنم.