خانه امنیت و SSL Cloudflare Turnstile چیست؟ جایگزین هوشمند CAPTCHA بدون پازل
تاریخ به‌روزرسانی : 1400/02/27
به قلم : شهاب بیرامی
زمان مطالعه : 12 دقیقه


Cloudflare Turnstile جایگزین کپچا بدون نیاز به حل پازل

📌 خلاصه مطلب (TL;DR)

  • Turnstile چیست؟ سرویس رایگان Cloudflare برای تشخیص ربات بدون نیاز به حل پازل یا انتخاب تصاویر، جایگزین reCAPTCHA.
  • چرا بهتر از reCAPTCHA است؟ سرعت بالاتر (۵ ثانیه در برابر ۳۲ ثانیه)، بدون جمع‌آوری داده تبلیغاتی، رایگان و نامحدود.
  • نحوه کار: چالش‌های جاوااسکریپتی غیرتعاملی در پس‌زمینه + تحلیل رفتار کاربر + یادگیری ماشین.
  • پیاده‌سازی: اضافه کردن یک اسکریپت + یک div به فرم و اعتبارسنجی توکن در سرور.

🔍 کدام سرویس کپچا برای وب‌سایت شما مناسب است؟

قدم اول: حریم خصوصی کاربران چقدر مهم است؟

  • خیلی مهم: Cloudflare Turnstile یا hCaptcha (بدون جمع‌آوری داده تبلیغاتی)
  • ⚠️ کمتر مهم: reCAPTCHA گزینه‌ای است، اما گوگل داده‌های کاربران را جمع‌آوری می‌کند

قدم دوم: ترافیک ماهانه سایت چقدر است؟

  • 🔸 کمتر از ۱۰۰۰۰ درخواست: reCAPTCHA رایگان کافی است
  • 🔸 بیشتر از ۱۰۰۰۰ درخواست: Turnstile (نامحدود و رایگان) یا هزینه reCAPTCHA Enterprise

قدم سوم: تجربه کاربری چقدر اولویت دارد؟

  • بالا: Turnstile (بدون تعامل، نامرئی)
  • ⚠️ متوسط: reCAPTCHA v3 (نامرئی اما با امتیازدهی)
  • پایین: reCAPTCHA v2 (پازل تصویری)

اگر تا به حال مجبور شده‌اید در یک وب‌سایت "همه تصاویر دارای چراغ راهنمایی را انتخاب کنید" یا "من ربات نیستم" را بزنید، با CAPTCHA آشنا هستید. این تست‌های آزاردهنده که قرار است انسان‌ها را از ربات‌ها تشخیص دهند، سالانه میلیون‌ها ساعت از وقت کاربران اینترنت را هدر می‌دهند.

Cloudflare با معرفی Turnstile در سال ۲۰۲۲ اعلام کرد که می‌خواهد به این مشکل پایان دهد. Turnstile یک جایگزین هوشمند برای reCAPTCHA است که بدون نیاز به حل پازل یا انتخاب تصویر، کاربران واقعی را از ربات‌ها تشخیص می‌دهد. در این مقاله، نحوه کار Turnstile، مقایسه آن با reCAPTCHA و hCaptcha، و راهنمای پیاده‌سازی را بررسی می‌کنیم.

CAPTCHA چیست و چرا مشکل‌ساز شده است؟

CAPTCHA (مخفف Completely Automated Public Turing test to tell Computers and Humans Apart) یک تست خودکار برای تشخیص انسان از ربات است. این فناوری برای محافظت از وب‌سایت‌ها در برابر اسپم، حملات brute force و سوء استفاده‌های خودکار طراحی شده است.

مشکلات اصلی reCAPTCHA سنتی

  • اتلاف وقت کاربران: طبق محاسبات Cloudflare، اگر هر تست reCAPTCHA به طور میانگین ۳۲ ثانیه طول بکشد و ۴.۶ میلیارد کاربر اینترنت هر ۱۰ روز یک بار این تست را انجام دهند، روزانه حدود ۵۰۰ سال از عمر انسان‌ها برای اثبات انسان بودنشان هدر می‌رود.
  • نقض حریم خصوصی: reCAPTCHA متعلق به گوگل است و داده‌های کاربران را برای هدف‌گیری تبلیغاتی جمع‌آوری می‌کند.
  • تجربه کاربری ضعیف: پازل‌های تصویری گاهی دشوار یا مبهم هستند و کاربران را ناامید می‌کنند.
  • مشکلات دسترسی‌پذیری: کاربران کم‌بینا یا نابینا با چالش‌های بصری مشکل دارند.
  • قابل دور زدن توسط ربات‌ها: مطالعات نشان می‌دهد ربات‌های پیشرفته با استفاده از هوش مصنوعی می‌توانند reCAPTCHA v2 را با نرخ موفقیت ۸۳٪ دور بزنند.

نمونه پازل reCAPTCHA که کاربر باید تصاویر را انتخاب کند

Cloudflare Turnstile چیست؟

Cloudflare Turnstile یک سرویس جایگزین CAPTCHA است که در سپتامبر ۲۰۲۲ معرفی شد. برخلاف reCAPTCHA که کاربران را مجبور به حل پازل می‌کند، Turnstile از چالش‌های غیرتعاملی در پس‌زمینه استفاده می‌کند تا انسان بودن کاربر را تأیید کند.

💡 نکته کلیدی: Turnstile کاملاً رایگان و نامحدود است. برای استفاده از آن نیازی به اشتراک CDN کلودفلر ندارید و هر وب‌سایتی می‌تواند از آن استفاده کند.

ویژگی‌های کلیدی Turnstile

  • بدون پازل: اکثر کاربران هیچ چالشی نمی‌بینند
  • سریع: تأیید در کمتر از ۵ ثانیه (در مقابل ۳۲ ثانیه reCAPTCHA)
  • حفظ حریم خصوصی: بدون جمع‌آوری داده برای تبلیغات
  • رایگان: تا ۱ میلیون درخواست در ماه بدون محدودیت
  • سازگار با WCAG 2.1 AA: استانداردهای دسترسی‌پذیری
  • Private Access Tokens: همکاری با Apple برای تأیید بدون نیاز به داده شخصی

نحوه کار Cloudflare Turnstile

Turnstile به جای یک روش ثابت، از مجموعه‌ای از چالش‌های چرخشی استفاده می‌کند که بر اساس رفتار کاربر و محیط مرورگر انتخاب می‌شوند:

۱. چالش‌های غیرتعاملی جاوااسکریپت

Turnstile یک سری چالش کوچک جاوااسکریپتی را در پس‌زمینه اجرا می‌کند:

  • Proof-of-Work: محاسبات سبک برای اثبات اینکه یک مرورگر واقعی است
  • Proof-of-Space: بررسی دسترسی به حافظه
  • API Probing: بررسی APIهای مرورگر برای تشخیص محیط‌های مشکوک
  • تحلیل رفتار: الگوهای حرکت ماوس، تایپ و اسکرول

۲. یادگیری ماشین

Cloudflare از مدل‌های یادگیری ماشین استفاده می‌کند که از میلیون‌ها بازدیدکننده قبلی یاد گرفته‌اند. این مدل‌ها می‌توانند کاربران واقعی را با دقت بالا شناسایی کنند.

۳. Private Access Tokens (توکن‌های دسترسی خصوصی)

Cloudflare با Apple همکاری کرده تا کاربران macOS و iOS بتوانند بدون هیچ تعاملی تأیید شوند. دستگاه کاربر یک توکن رمزنگاری‌شده ارسال می‌کند که انسان بودن را تأیید می‌کند، بدون اینکه داده شخصی به اشتراک گذاشته شود.

نحوه کار Cloudflare Turnstile با چالش‌های غیرتعاملی

حالت‌های مختلف ویجت Turnstile

Turnstile سه حالت مختلف برای نمایش ویجت ارائه می‌دهد:

حالت تجربه کاربر مناسب برای
Managed (مدیریت‌شده) چک‌باکس فقط در صورت مشکوک بودن اکثر وب‌سایت‌ها
Non-interactive (غیرتعاملی) فقط نشانگر بارگذاری UX بالا، فرم‌های ساده
Invisible (نامرئی) کاملاً مخفی از کاربر حداکثر UX، ریسک بالاتر

جدول مقایسه: reCAPTCHA vs hCaptcha vs Turnstile

ویژگی reCAPTCHA hCaptcha Turnstile
قیمت ۱۰۰۰۰ درخواست رایگان/ماه، سپس پولی رایگان با محدودیت، Enterprise پولی کاملاً رایگان و نامحدود
حریم خصوصی جمع‌آوری داده برای تبلیغات بدون جمع‌آوری داده تبلیغاتی بدون جمع‌آوری داده تبلیغاتی
تجربه کاربری پازل تصویری (v2) یا نامرئی (v3) پازل تصویری بدون پازل، غیرتعاملی
زمان تکمیل ۳۲ ثانیه (میانگین v2) ۲۰-۳۰ ثانیه کمتر از ۵ ثانیه
دسترسی‌پذیری محدود محدود WCAG 2.1 AA
نیاز به CDN خیر خیر خیر
پشتیبانی مرورگر همه مرورگرها همه مرورگرها مرورگرهای مدرن (IE پشتیبانی نمی‌شود)

💡 از تجربه ما: از سال ۲۰۲۵، گوگل تغییرات مهمی در قیمت‌گذاری reCAPTCHA ایجاد کرده است. سقف رایگان از ۱ میلیون به ۱۰۰۰۰ درخواست در ماه کاهش یافته و هزینه Enterprise به ۸ دلار ماهانه رسیده است. این تغییرات باعث شده بسیاری از توسعه‌دهندگان به Turnstile مهاجرت کنند.

راهنمای پیاده‌سازی Cloudflare Turnstile

پیاده‌سازی Turnstile ساده است و در سه مرحله انجام می‌شود:

مرحله ۱: ایجاد ویجت در داشبورد Cloudflare

  1. وارد داشبورد Cloudflare شوید (اگر اکانت ندارید، رایگان بسازید)
  2. به بخش Turnstile بروید
  3. روی Add Site کلیک کنید
  4. نام و دامنه سایت خود را وارد کنید
  5. حالت ویجت (Managed، Non-interactive یا Invisible) را انتخاب کنید
  6. Site Key و Secret Key را ذخیره کنید

🚨 مهم: Secret Key را هرگز در کد سمت کاربر (فرانت‌اند) قرار ندهید. این کلید فقط برای اعتبارسنجی سمت سرور استفاده می‌شود.

مرحله ۲: اضافه کردن ویجت به فرم (HTML/JavaScript)

کد زیر را به صفحه HTML خود اضافه کنید:

<!-- اضافه کردن اسکریپت Turnstile -->
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" defer></script>

<!-- فرم با ویجت Turnstile -->
<form action="/submit" method="POST">
  <input type="text" name="email" placeholder="ایمیل">
  <div class="cf-turnstile" data-sitekey="YOUR_SITE_KEY"></div>
  <button type="submit">ارسال</button>
</form>

مرحله ۳: اعتبارسنجی توکن در سرور (PHP)

پس از ارسال فرم، باید توکن را در سرور اعتبارسنجی کنید:

<?php
$token = $_POST['cf-turnstile-response'];
$secret = 'YOUR_SECRET_KEY';
$ip = $_SERVER['REMOTE_ADDR'];

$data = [
  'secret' => $secret,
  'response' => $token,
  'remoteip' => $ip
];

$response = file_get_contents(
  'https://challenges.cloudflare.com/turnstile/v0/siteverify',
  false,
  stream_context_create(['http' => [
    'method' => 'POST',
    'header' => 'Content-Type: application/x-www-form-urlencoded',
    'content' => http_build_query($data)
  ]])
);

$result = json_decode($response, true);

if ($result['success']) {
  // کاربر تایید شد - فرم را پردازش کنید
} else {
  // اعتبارسنجی ناموفق - احتمال ربات
}
?>

💡 نکته: توکن‌های Turnstile ۳۰۰ ثانیه (۵ دقیقه) اعتبار دارند و فقط یک بار قابل استفاده هستند. حتماً اعتبارسنجی سمت سرور را انجام دهید.

پیاده‌سازی Turnstile در وردپرس

برای وب‌سایت‌های وردپرسی، می‌توانید از افزونه Simple Cloudflare Turnstile استفاده کنید:

  1. به افزونه‌ها → افزودن بروید
  2. "Simple Cloudflare Turnstile" را جستجو و نصب کنید
  3. به تنظیمات → Cloudflare Turnstile بروید
  4. Site Key و Secret Key را وارد کنید
  5. فرم‌هایی که می‌خواهید محافظت شوند را انتخاب کنید (ورود، ثبت‌نام، نظرات، WooCommerce و...)

اگر از هاست وردپرس برتینا استفاده می‌کنید، این افزونه با تنظیمات سرور کاملاً سازگار است.

تأثیر Turnstile بر نرخ تبدیل و SEO

بهبود نرخ تبدیل (Conversion Rate)

مطالعات نشان می‌دهد که حذف CAPTCHA‌های سنتی می‌تواند نرخ تبدیل را تا ۱۵٪ افزایش دهد. دلایل:

  • کاهش نرخ رها شدن فرم (Form Abandonment): کاربران از پازل‌های دشوار خسته نمی‌شوند
  • سرعت بالاتر: ۵ ثانیه در مقابل ۳۲ ثانیه
  • تجربه کاربری بهتر: بدون تعامل اضافی

تأثیر بر Core Web Vitals

Turnstile نسبت به reCAPTCHA تأثیر کمتری بر Core Web Vitals دارد:

  • LCP (Largest Contentful Paint): اسکریپت سبک‌تر با تأخیر کمتر
  • CLS (Cumulative Layout Shift): ویجت کوچک‌تر با جابجایی کمتر
  • INP (Interaction to Next Paint): بدون تعامل اضافی

برای وب‌سایت‌هایی که روی هاست پرسرعت میزبانی می‌شوند، استفاده از Turnstile به جای reCAPTCHA می‌تواند به بهبود امتیاز PageSpeed کمک کند.

محدودیت‌های Cloudflare Turnstile

با وجود مزایای فراوان، Turnstile محدودیت‌هایی نیز دارد:

  • عدم پشتیبانی از Internet Explorer: مرورگرهای قدیمی پشتیبانی نمی‌شوند
  • وابستگی به Cloudflare: اگر سرویس Cloudflare دچار مشکل شود، Turnstile نیز تحت تأثیر قرار می‌گیرد
  • تازه‌تر بودن: نسبت به reCAPTCHA تجربه کمتری در بازار دارد
  • کاربران با ابزارهای حریم خصوصی: ممکن است برای کاربرانی که از مسدودکننده‌های تبلیغات استفاده می‌کنند، چک‌باکس نمایش داده شود

امنیت وب‌سایت فراتر از CAPTCHA

CAPTCHA فقط یک لایه از امنیت وب‌سایت است. برای محافظت کامل، به موارد زیر نیز نیاز دارید:

  • گواهی SSL: رمزنگاری ارتباط بین کاربر و سرور
  • فایروال وب (WAF): محافظت در برابر حملات SQL Injection و XSS
  • محافظت DDoS: جلوگیری از حملات توزیع‌شده
  • به‌روزرسانی منظم: رفع آسیب‌پذیری‌های نرم‌افزاری

اگر سرور مجازی یا سرور اختصاصی دارید، می‌توانید Cloudflare را به صورت رایگان فعال کنید و از Turnstile همراه با سایر ویژگی‌های امنیتی استفاده کنید.

سوالات متداول درباره Cloudflare Turnstile

آیا Cloudflare Turnstile رایگان است؟

بله، کاملاً رایگان است. برخلاف reCAPTCHA که از سال ۲۰۲۵ سقف رایگان را به ۱۰۰۰۰ درخواست در ماه کاهش داده، Turnstile نامحدود و رایگان برای همه وب‌سایت‌ها است. نیازی به اشتراک CDN کلودفلر ندارید.

تفاوت Turnstile با reCAPTCHA چیست؟

سه تفاوت اصلی: ۱) Turnstile بدون پازل تصویری کار می‌کند و کاربران نیازی به انتخاب تصاویر ندارند. ۲) Turnstile داده‌های کاربران را برای تبلیغات جمع‌آوری نمی‌کند. ۳) Turnstile کاملاً رایگان و نامحدود است، در حالی که reCAPTCHA از ۱۰۰۰۰ درخواست به بعد پولی شده است.

آیا برای استفاده از Turnstile باید از CDN کلودفلر استفاده کنم؟

خیر. Turnstile یک سرویس مستقل است و بدون نیاز به عبور ترافیک از شبکه Cloudflare کار می‌کند. می‌توانید روی هر وب‌سایتی با هر هاستینگی از Turnstile استفاده کنید. فقط به یک اکانت رایگان Cloudflare برای دریافت کلیدها نیاز دارید.

چگونه از reCAPTCHA به Turnstile مهاجرت کنم؟

مهاجرت ساده است: ۱) در داشبورد Cloudflare یک ویجت Turnstile بسازید. ۲) اسکریپت reCAPTCHA را با اسکریپت Turnstile جایگزین کنید. ۳) کلاس div را از "g-recaptcha" به "cf-turnstile" تغییر دهید. ۴) endpoint اعتبارسنجی سرور را از google.com/recaptcha به challenges.cloudflare.com/turnstile/v0/siteverify تغییر دهید.

آیا Turnstile از حملات پیشرفته ربات‌ها جلوگیری می‌کند؟

Turnstile برای تشخیص ربات از اسپم و حملات brute force طراحی شده است. با این حال، Cloudflare اعلام کرده که Turnstile یک CAPTCHA جایگزین است، نه یک راه‌حل کامل Bot Management. برای محافظت پیشرفته در برابر credential stuffing، SMS pumping و حملات پیچیده‌تر، به راه‌حل‌های Bot Management سازمانی نیاز دارید.

آیا Turnstile با وردپرس سازگار است؟

بله. افزونه رسمی "Simple Cloudflare Turnstile" (که اخیراً به "Simple CAPTCHA Alternative with Cloudflare Turnstile" تغییر نام داده) برای وردپرس موجود است. این افزونه با فرم‌های ورود، ثبت‌نام، نظرات، Contact Form 7، WooCommerce و بسیاری از افزونه‌های دیگر سازگار است.

💡 از تجربه تیم فنی برتینا: ما از Turnstile در فرم‌های تماس و ثبت‌نام سایت استفاده می‌کنیم. پس از مهاجرت از reCAPTCHA به Turnstile، نرخ تکمیل فرم‌ها حدود ۱۲٪ افزایش یافت و شکایات کاربران از پازل‌های دشوار کاملاً متوقف شد.

جمع‌بندی: آیا باید به Turnstile مهاجرت کنید؟

اگر از reCAPTCHA استفاده می‌کنید و با این مشکلات مواجه هستید، Turnstile گزینه مناسبی است:

  • ✅ نگرانی از حریم خصوصی کاربران
  • ✅ شکایت کاربران از پازل‌های دشوار
  • ✅ نرخ رها شدن فرم بالا
  • ✅ ترافیک بالا و نگرانی از هزینه‌های reCAPTCHA Enterprise
  • ✅ نیاز به بهبود Core Web Vitals

در این مقاله یاد گرفتید که Cloudflare Turnstile چگونه کار می‌کند، چرا بهتر از reCAPTCHA است، و چطور آن را پیاده‌سازی کنید. با این جایگزین هوشمند، می‌توانید امنیت فرم‌های خود را حفظ کنید بدون اینکه کاربران را با پازل‌های آزاردهنده اذیت کنید.

💼 خدمات امنیتی برتینا

امنیت وب‌سایت فراتر از CAPTCHA است. برای محافظت کامل از سایت خود:

سوالات خود را درباره Cloudflare Turnstile در بخش نظرات بپرسید تا کارشناسان فنی برتینا پاسخگوی شما باشند.

نظرات