الفارق الجوهري بسيط: يتحقق Cloudflare Turnstile من بيئة المتصفح بصمت ودون تتبّع للمستخدم، بينما يعتمد reCAPTCHA على تحليل سلوك الزائر وبيانات Google. فإن كنت مالك موقع يبحث عن خصوصية أعلى ودمج أخفّ فاختر Turnstile، وإن كنت تريد نظاماً راسخاً وموثّقاً بكثرة فـ reCAPTCHA أقرب لك. أما إن كنت مطوّر أتمتة أو مسؤول اختبارات، فالسؤال الأهم هو: أيهما أسهل على الحل الآلي، وبأي تكلفة؟ يجيب هذا الدليل على الجانبين معاً.
هذه المقارنة موجّهة إلى ثلاث فئات:
- مالكو المواقع الذين يوازنون بين الخصوصية وسهولة الدمج.
- مطوّرو الأتمتة الذين يحتاجون إلى حل النظامين برمجياً.
- فرق الاختبار (QA) التي تغطّي تدفقات محمية بأنواع مختلفة من CAPTCHA.
الفرق الجوهري بين Turnstile وreCAPTCHA
الجدول التالي يلخّص أبرز الفروق التقنية بين النظامين وإصداري reCAPTCHA:
| الميزة | Cloudflare Turnstile | reCAPTCHA v2 | reCAPTCHA v3 |
|---|---|---|---|
| المزوّد | Cloudflare | ||
| تفاعل المستخدم | نادراً (الوضع المُدار) | مربع اختيار + صور | لا شيء |
| نوع النتيجة | رمز نجاح/فشل | رمز نجاح/فشل | نتيجة (0.0–1.0) |
| تحديات الصور | لا تُستخدم | نعم | لا |
| أساس التحليل | تحديات المتصفح | الماوس/لوحة المفاتيح/الكوكيز | مراقبة مستمرة |
| الخصوصية | لا تتبّع عبر المواقع | يعتمد على كوكيز Google | يعتمد على كوكيز Google |
| باقة مجانية | نعم | نعم | نعم |
| باقة للمؤسسات | نعم (ضمن خطط Cloudflare) | نعم (مدفوعة) | نعم (مدفوعة) |
| يتطلب CDN | لا (قطعة مستقلة) | لا | لا |
الخلاصة الأولى: Turnstile يميل إلى الخفّة والخصوصية، وreCAPTCHA يميل إلى النضج والانتشار الواسع.
متى تختار Turnstile ومتى تختار reCAPTCHA
قبل الدخول في التفاصيل التقنية، هذه خارطة قرار سريعة بحسب حالتك:
| السيناريو | الخيار الأفضل | السبب |
|---|---|---|
| موقع يهتم بالخصوصية | Turnstile | لا تتبّع من Google |
| تستخدم Cloudflare بالفعل | Turnstile | تكامل أصلي |
| نظام قديم قائم | reCAPTCHA v2 | راسخ وموثّق جيداً |
| الحاجة إلى تجربة بلا احتكاك | reCAPTCHA v3 أو Turnstile | كلاهما يعمل بصمت |
| أقصى درجات الأمان | reCAPTCHA v2 + v3 | تحدٍّ متعدّد الطبقات + نتيجة |
| مالك موقع غير تقني | reCAPTCHA v2 | تنفيذ بمربع اختيار بسيط |
مثال من الواقع: افترض أن فريق QA في شركة SaaS بالرياض يختبر تدفّق تسجيل الدخول على بيئة محمية بـ Turnstile، ويحتاج في الوقت نفسه إلى تغطية صفحة دفع قديمة ما زالت تعتمد reCAPTCHA v2. بدل بناء تكاملين منفصلين، يرسل الفريق النوعين إلى CaptchaAI عبر مفتاح الـ API نفسه. والفوترة هنا قائمة على عدد الـ threads المتزامنة لا على عدد عمليات الحل، لذا تكفي باقة BASIC ($15 شهرياً، 5 threads) لدورة اختبار صغيرة، مع حلول غير محدودة لكل thread طوال الشهر.
كيف يكتشف كل نظام الأتمتة
الفرق في الحل يبدأ من الفرق في الكشف. كل نظام يراقب إشارات مختلفة تماماً.
آلية الكشف في Turnstile
يركّز Turnstile على التحقق من بيئة المتصفح:
- تحديات تنفيذ JavaScript
- قدرات WebAssembly
- رموز الوصول الخاصة (أجهزة Apple/Google)
- تقديم Canvas/WebGL
- تحليل توقيت تنفيذ التحدي
آلية الكشف في reCAPTCHA
يركّز reCAPTCHA على الإشارات السلوكية:
- أنماط ومسارات حركة الماوس
- توقيت التفاعل مع لوحة المفاتيح
- سلوك التمرير
- وجود كوكيز Google (NID وSID)
- سمعة عنوان IP
- اتساق بصمة المتصفح
الفارق العملي: Turnstile يسأل «هل هذا متصفح حقيقي؟»، بينما يسأل reCAPTCHA «هل يتصرّف هذا الزائر كإنسان؟».
أيهما أصعب على الحل الآلي؟
الأرقام التالية تستند إلى بيانات مرصودة وتقارير مستخدمين. قد تختلف النتائج بحسب بيئة التشغيل والحجم والتوقيت.
| المقياس | Turnstile | reCAPTCHA v2 | reCAPTCHA v3 |
|---|---|---|---|
| متوسط وقت الحل | 10–20 ثانية | 15–30 ثانية | 5–10 ثوانٍ |
| معدل النجاح | مرتفع | مرتفع | متغيّر (حسب النتيجة) |
| يتطلب بروكسي | لا | لا | لا |
| معطيات إضافية | مفتاح الموقع، عنوان الصفحة | مفتاح الموقع، عنوان الصفحة | مفتاح الموقع، عنوان الصفحة، الإجراء |
| اعتبار النتيجة | لا (نجاح/فشل) | لا (نجاح/فشل) | نعم (حسب العتبة) |
عملياً، تحديات الصور في reCAPTCHA v2 تستغرق وقتاً أطول لكن نتيجتها قاطعة (نجاح أو فشل). أما reCAPTCHA v3 فأسرع لأنه بلا تحدٍّ ظاهر، غير أن قبوله يعتمد على العتبة التي يحدّدها الموقع نفسه. وTurnstile في المنتصف: سريع نسبياً ويعتمد على إشارات بيئة المتصفح لا على سلوك المستخدم.
حل Turnstile وreCAPTCHA عبر CaptchaAI
يدعم CaptchaAI النوعين عبر واجهة برمجة واحدة؛ الاختلاف الوحيد هو قيمة method والمعطيات المرسلة، بينما تبقى نقطة النهاية ومفتاح الـ API كما هما.
Turnstile
resp = requests.get("https://ocr.captchaai.com/in.php", params={
"key": API_KEY, "method": "turnstile",
"sitekey": "0x4AAAAAAAD...", "pageurl": URL, "json": 1
})
reCAPTCHA v2
resp = requests.get("https://ocr.captchaai.com/in.php", params={
"key": API_KEY, "method": "userrecaptcha",
"googlekey": "6Le-wvkSAAAA...", "pageurl": URL, "json": 1
})
reCAPTCHA v3
resp = requests.get("https://ocr.captchaai.com/in.php", params={
"key": API_KEY, "method": "userrecaptcha", "version": "v3",
"googlekey": "6LfZil0UAAAA...", "action": "login", "pageurl": URL, "json": 1
})
المسار التشغيلي واحد للنوعين، ويتلخّص في أربع خطوات:
- أرسل الطلب إلى
in.phpبقيمةmethodالمناسبة واحصل على معرّف المهمة. - استطلع النتيجة عبر
res.phpحتى تعود جاهزة. - احقن التوكن العائد في الحقل المستهدف داخل النموذج.
- أرسل النموذج قبل انتهاء صلاحية التوكن.
تكرار المسار نفسه هو ما يجعل التعامل مع موقع يستخدم النظامين معاً بسيطاً دون منطق منفصل لكل نوع.
الأسئلة الشائعة
هل يدعم CaptchaAI حل Turnstile وreCAPTCHA بالمفتاح نفسه؟
نعم. يحل CaptchaAI Cloudflare Turnstile وreCAPTCHA v2/v3 عبر الواجهة نفسها؛ ما يتغيّر بين نوع وآخر عنصران فقط:
- قيمة
methodالمرسلة (turnstileأوuserrecaptcha). - المعطيات المرافقة (
sitekey/googlekeyوactionعند الحاجة).
أما مفتاح الـ API ونقطة النهاية فيبقيان ثابتين، فلا حاجة إلى تكاملين منفصلين.
كيف أعرف أي إصدار من reCAPTCHA يستخدمه الموقع؟
افحص كود الصفحة: وجود مربع «I'm not a robot» أو تحدي صور يعني reCAPTCHA v2، أما التنفيذ غير المرئي الذي يمرّر قيمة action ويعيد نتيجة رقمية فيعني reCAPTCHA v3. وTurnstile يظهر عادةً كقطعة صغيرة تحمل شعار Cloudflare.
هل يؤثر اختيار Turnstile أو reCAPTCHA على سرعة تحميل الموقع؟
كلاهما يحمّل سكربتاً خارجياً، لكن Turnstile أخفّ وزناً في الغالب ولا يعتمد على شبكة تتبّع، ما يجعله مناسباً للمواقع الحسّاسة لزمن التحميل والخصوصية. في المقابل يعمل reCAPTCHA v3 في الخلفية باستمرار وقد يضيف طلبات إضافية.
لماذا يعيد reCAPTCHA v3 نتيجة بدل نجاح أو فشل واضح؟
لأنه لا يعرض تحدياً للمستخدم، بل يقيّم مدى قرب السلوك من البشري ويعطي نتيجة بين 0.0 و1.0. الموقع نفسه هو من يحدّد عتبة القبول، لذلك قد يختلف السلوك من موقع لآخر حتى عند النتيجة ذاتها.
هل أحتاج إلى بروكسي لحل أيٍّ منهما؟
لا يشترط أيٌّ منهما بروكسي افتراضياً عند الحل عبر CaptchaAI. قد تحتاج إلى بروكسي فقط في حالتين:
- إذا كان الموقع المستهدف يطبّق قيوداً جغرافية على عنوان IP.
- إذا كان يفرض تحديداً صارماً لمعدل الطلبات لكل عنوان.