اگر تا به حال از reCAPTCHA گوگل روی سایتتان استفاده کردهاید، احتمالاً دردسرهایش را هم تجربه کردهاید: انتخاب تصاویر اتوبوس و چراغ راهنمایی، بارگذاری کند، حفظ حریم خصوصی ضعیف و تجربه کاربری مزاحم. خوشبختانه یک جایگزین رایگان، سریع و بدون اذیت کاربر وجود دارد: Cloudflare Turnstile. در این مقاله این سرویس را معرفی میکنیم و نحوه نصبش روی وردپرس را میآموزیم.
Turnstile چیست؟
Cloudflare Turnstile یک سرویس رایگان جایگزین CAPTCHA است که شرکت Cloudflare در سال ۲۰۲۳ عرضه کرد. هدفش یک چیز ساده است: تشخیص ربات از انسان بدون اینکه کاربر انسانی مجبور به حل پازل شود.
Turnstile با استفاده از چند سیگنال مرورگر مثل نحوه حرکت ماوس، سرعت تایپ و ویژگیهای JavaScript تشخیص میدهد که بازدیدکننده انسان است یا خیر. در بیشتر موارد، کاربر فقط یک چکباکس ساده میبیند یا حتی هیچ چیز — کاملاً نامرئی است.
مزایای Turnstile نسبت به reCAPTCHA
۱. تجربه کاربری بهتر
کاربر دیگر نیاز به انتخاب تصاویر مختلف یا کپی کردن متن ندارد. در بیشتر موارد یک چکباکس ساده یا هیچ تعامل کاربری. این نرخ تبدیل فرمها را به شدت افزایش میدهد.
۲. حفظ حریم خصوصی
برخلاف reCAPTCHA که دادههای کاربر را برای گوگل میفرستد، Turnstile طبق استانداردهای سختگیرانه حریم خصوصی Cloudflare کار میکند. با GDPR و قوانین حفظ حریم خصوصی سازگار است.
۳. سرعت بالا
بارگذاری Turnstile چند برابر سریعتر از reCAPTCHA است. این به Core Web Vitals سایت شما هم کمک میکند.
۴. رایگان و بدون محدودیت
Turnstile کاملاً رایگان است و برای استفاده، محدودیتی ندارد. برخلاف reCAPTCHA Enterprise که برای حجم بالا هزینه دارد.
۵. قابل استفاده در تمام دنیا
reCAPTCHA در برخی کشورها مثل چین و برخی نقاط دیگر بهخاطر محدودیتهای دسترسی به سرویسهای گوگل کار نمیکند. Turnstile این مشکل را ندارد.
دریافت کلید Turnstile
- به
dash.cloudflare.com/?to=/:account/turnstileبروید و وارد حساب Cloudflare شوید. اگر حساب ندارید، رایگان ثبت نام کنید - روی Add Site یا + Add a site کلیک کنید
- نام سایت (هر چیزی که به شما کمک کند) و دامنه سایت را وارد کنید
- نوع ویجت (Widget Type) را انتخاب کنید:
- Managed: انتخاب پیشفرض و توصیهشده
- Non-interactive: بدون نمایش چکباکس (کاملاً مخفی)
- Invisible: نامرئی و فعال در پسزمینه
- روی Create کلیک کنید
- دو کلید به شما داده میشود:
- Site Key: عمومی، در HTML سایت قابل مشاهده
- Secret Key: محرمانه، فقط سمت سرور استفاده میشود
نصب Turnstile روی وردپرس با افزونه
سادهترین راه، استفاده از افزونههای آماده است:
Simple Cloudflare Turnstile
- از مخزن وردپرس نصب و فعال کنید
- به تنظیمات → Cloudflare Turnstile بروید
- Site Key و Secret Key را وارد کنید
- انتخاب کنید در چه فرمهایی فعال شود: فرم ورود، ثبتنام، تماس، کامنت
CAPTCHA 4WP
یک افزونه جامعتر که از Turnstile، reCAPTCHA و hCAPTCHA پشتیبانی میکند. اگر میخواهید انعطاف داشته باشید، این گزینه بهتری است.
افزونههای فرمساز با پشتیبانی داخلی
بسیاری از افزونههای فرمساز مدرن (Fluent Forms، WPForms، Contact Form 7 با افزودنی، Gravity Forms) پشتیبانی داخلی از Turnstile دارند. کافی است کلیدها را در تنظیمات آنها وارد کنید.
نصب دستی Turnstile در فرم HTML
اگر فرم سفارشی دارید، این کد را قبل از دکمه ارسال قرار دهید:
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
<form action="/submit" method="POST">
<!-- فیلدهای فرم -->
<div class="cf-turnstile" data-sitekey="YOUR_SITE_KEY"></div>
<button type="submit">ارسال</button>
</form>
سپس در سمت سرور (PHP)، تایید پاسخ Turnstile را بررسی کنید:
<?php
$secret = 'YOUR_SECRET_KEY';
$response = $_POST['cf-turnstile-response'];
$verify = wp_remote_post(
'https://challenges.cloudflare.com/turnstile/v0/siteverify',
array( 'body' => array(
'secret' => $secret,
'response' => $response,
) )
);
$result = json_decode( wp_remote_retrieve_body( $verify ), true );
if ( $result['success'] ) {
// اعتبارسنجی موفق
} else {
// احتمالاً ربات است
}
?>
انواع حالتهای نمایش Turnstile
Managed (مدیریتشده)
حالت پیشفرض. Cloudflare بر اساس تحلیل ترافیک تصمیم میگیرد که چکباکس نمایش دهد یا نه. بهترین تعادل بین امنیت و UX.
Non-interactive (غیرتعاملی)
هیچ چکباکسی نمایش داده نمیشود. کاربر فقط یک انیمیشن کوتاه میبیند و تایید میشود.
Invisible (نامرئی)
کاملاً در پسزمینه کار میکند بدون هیچ نمایشی. مناسب سایتهایی که نمیخواهند هیچ اختلالی در طراحی فرم داشته باشند.
حالت تاریک و تنظیمات ظاهری
Turnstile از حالت تاریک پشتیبانی میکند. کافی است attribute این را اضافه کنید:
<div class="cf-turnstile"
data-sitekey="YOUR_SITE_KEY"
data-theme="dark"></div>
همچنین میتوانید زبان را تنظیم کنید (fa برای فارسی):
data-language="fa"
مقایسه Turnstile با گزینههای دیگر
| ویژگی | Turnstile | reCAPTCHA v3 | hCAPTCHA |
|---|---|---|---|
| رایگان | بله | بله (تا حجم خاص) | بله |
| بدون تعامل کاربر | اغلب | بله | گاهی |
| حفظ حریم خصوصی | عالی | ضعیف | متوسط |
| کار در ایران/چین | بله | محدود | بله |
| سرعت | بسیار سریع | متوسط | متوسط |
| پشتیبانی از فارسی | بله | بله | بله |
بهترین مکانهای استفاده از Turnstile
- فرم تماس: جلوگیری از ایمیلهای اسپم
- فرم ثبتنام کاربر: جلوگیری از ثبتنام رباتها
- صفحه ورود: کاهش حملات Brute Force
- فرم نظرات: جلوگیری از اسپم کامنت
- چکاوت ووکامرس: جلوگیری از ثبت سفارشهای جعلی
- بازیابی رمز عبور: جلوگیری از حملات enumeration
🛡️ هاست وردپرس ایمن برای انواع افزونه
هاست وردپرس میهن هاستینگ با فایروال Imunify360 و سرعت بالا، همکار کامل Turnstile است.
پرسشهای متداول
آیا Turnstile واقعاً رایگان میماند؟
Cloudflare بهصراحت اعلام کرده Turnstile برای همیشه رایگان خواهد ماند. این بخشی از تعهد Cloudflare به بهبود اینترنت است.
آیا برای استفاده از Turnstile باید سایت روی Cloudflare باشد؟
خیر. Turnstile مستقل از سایر سرویسهای Cloudflare است. میتوانید از آن حتی روی سایتهایی که CDN دیگری دارند استفاده کنید.
Turnstile چقدر دقیق عمل میکند؟
طبق آمار Cloudflare، Turnstile بیش از ۹۹ درصد رباتها را شناسایی میکند و نرخ false-positive (شناسایی انسان به عنوان ربات) بسیار پایین دارد.
آیا میتوانم Turnstile را همراه با reCAPTCHA استفاده کنم؟
از نظر فنی بله، اما توصیه نمیشود. هر کدام یک لایه امنیتی میگذارند و اضافه کردن هر دو UX را خراب میکند و تاثیر منفی روی سرعت میگذارد.
مقالات مرتبط
- 📖 رفع خروج خودکار کاربر — امنیت صفحه ورود وردپرس
- 📖 زمان بروزرسانی وردپرس — حفظ امنیت با بروزرسانی منظم
- 📖 بهترین افزونههای وردپرس — افزونههای امنیتی ضروری