الشروحات المعمقة

عوامل نتيجة اختبار reCAPTCHA: التحليل الفني الكامل

يقوم محرك تحليل المخاطر المتقدم (ARA) الخاص بـ reCAPTCHA بتقييم عشرات الإشارات لإنتاج درجة تتراوح بين 0.0 (روبوت محدد) و1.0 (إنسان محدد). تحدد هذه النتيجة ما إذا كنت لا ترى أي تحدي أو مربع اختيار أو شبكة صور أو كتلة صلبة. لا تنشر Google خوارزمية التسجيل الدقيقة، لكن الاختبارات المكثفة والهندسة العكسية حددت العوامل الرئيسية. هذا تحليل فني شامل لما يحرك النتيجة.


فئات عامل النتيجة

يقوم reCAPTCHA بتقييم الإشارات في خمس فئات، تساهم كل منها في النتيجة النهائية:

Final Score = f(Browser Signals, Behavioral Signals, Network Signals, 
                History Signals, Environmental Signals)

الفئة 1: إشارات المتصفح (الوزن: مرتفع)

تحدد إشارات المتصفح ما إذا كان العميل متصفحًا حقيقيًا أم أداة آلية.

وجود JavaScript API

تحقيقات reCAPTCHA لواجهات برمجة التطبيقات التي تفتقر إليها المتصفحات بدون رأس أو تنفذها بشكل مختلف:

تم فحص واجهة برمجة التطبيقات المتوقع في المتصفح الحقيقي مؤشر مقطوعة الرأس
navigator.webdriver undefined أو false true (السيلينيوم، Puppeteer)
navigator.plugins PluginArray يحتوي على أكثر من 1 عنصر فارغة أو مفقودة
navigator.languages صفيف مع سلاسل محلية مصفوفة فارغة أو مفقودة
navigator.hardwareConcurrency 2-16 (يطابق وحدة المعالجة المركزية) في بعض الأحيان 0 أو غير محدد
navigator.deviceMemory 2-16 جيجابايت مفقود في بعض مقطوعة الرأس
window.chrome كائن مع وقت التشغيل، وما إلى ذلك. مفقود في كروم مقطوعة الرأس
Notification.permission "افتراضي" أو "ممنوح" أو "مرفوض" يرمي أو في عداد المفقودين

التأثير على النتيجة: يمكن أن تؤدي القيم المفقودة أو غير الصحيحة لواجهات برمجة التطبيقات هذه إلى انخفاض النتيجة بمقدار 0.3 إلى 0.5 نقطة.

بصمة قماش

يعرض reCAPTCHA عناصر لوحة الرسم المخفية ويعيد قراءة بيانات البكسل. والنتيجة هي بصمة فريدة لمجموعة المتصفح/OS/GPU.

// reCAPTCHA performs something similar to:
const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');
ctx.textBaseline = "top";
ctx.font = "14px 'Arial'";
ctx.fillText("Hello", 2, 2);
const fingerprint = canvas.toDataURL();

تأثير النتيجة:

  • متصفح متطابق لبصمات الأصابع /OS إعلان → محايد
  • بصمة الإصبع تتطابق مع النمط المعروف بدون رأس → -0.3 إلى -0.5
  • تم حظر عمليات اللوحة القماشية أو إرجاع البيانات الموحدة → -0.4 إلى -0.6

عارض WebGL

تكشف سلسلة عارض WebGL عن وحدة معالجة الرسومات:

const gl = document.createElement('canvas').getContext('webgl');
const debugInfo = gl.getExtension('WEBGL_debug_renderer_info');
const renderer = gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL);
// Expected: "ANGLE (NVIDIA GeForce GTX 1060...)"
// Headless: "SwiftShader" or "Google SwiftShader"

تأثير النتيجة: يعد SwiftShader (عارض برامج Google المستخدم في Chrome بدون رأس) مؤشرًا قويًا للروبوتات، حيث يؤدي إلى انخفاض النتائج بمقدار 0.3-0.5.


الفئة الثانية: الإشارات السلوكية (الوزن: مرتفع جدًا)

الإشارات السلوكية لها الوزن الأعلى في حساب الدرجات. يتم جمعها من لحظة تحميل الصفحة.

حركة الفأرة

يتتبع reCAPTCHA إحداثيات الماوس والطوابع الزمنية طوال زيارة الصفحة:

إشارة نمط الإنسان نمط بوت
عدد الحركات 50-500+ حدث لكل زيارة للصفحة 0-5 أحداث
** المسار ** مسارات منحنية بسرعات متغيرة خطوط مستقيمة، سرعة ثابتة
التسارع سهولة طبيعية في /ease-out بداية فورية/stop
** الحركات الدقيقة ** غضب صغير أثناء التحوم لا يزال تماما بين الإجراءات
تجاوز الهدف تجاوز طفيف مع التصحيح استهداف دقيق

تأثير النتيجة: عدم وجود حركة للماوس تؤدي إلى انخفاض النتيجة بمقدار 0.4-0.7.

نشاط لوحة المفاتيح

Inter-key timing:
  Human: Variable (50-300ms between keys, varies by key pair)
  Bot: Constant (all keys at same interval, or instant paste)

Key events:
  Human: keydown → keypress → keyup for each character
  Bot: May skip keypress, or fire all events simultaneously

Corrections:
  Human: Occasional backspace, re-typing
  Bot: Perfect input without corrections

تأثير النتيجة: يسجل الإدخال الفوري للنص (عبر الحافظة أو تعيين JavaScript value) نتائج أقل بنسبة 0.1-0.2.

سلوك التمرير

يراقب reCAPTCHA أحداث التمرير على الصفحة:

  • البشر: تمرير تدريجي بزخم، وسرعة متغيرة، وتوقف مؤقت للقراءة
  • الروبوتات: لا يوجد تمرير أو انتقال فوري إلى منطقة النموذج

تأثير النتيجة: لا توجد أحداث تمرير قبل تفاعل النموذج → -0.2 إلى -0.3.

تسلسل تفاعل العناصر

يتتبع reCAPTCHA العناصر التي يتفاعل معها المستخدم وبأي ترتيب:

  • البشر: انقر حول الصفحة، وقم بالتمرير فوق الروابط، واقرأ المحتوى قبل ملء النموذج
  • الروبوتات: انتقل مباشرة إلى حقول النموذج، واملأ الطلب، ثم أرسل

تأثير النتيجة: السلوك المباشر إلى النموذج دون استكشاف الصفحة → -0.1 إلى -0.3.


الفئة 3: إشارات الشبكة (الوزن: متوسط-مرتفع)

سمعة عنوان IP

تحتفظ Google بقاعدة بيانات لسمعة IP استنادًا إلى:

  • نتائج تحدي reCAPTCHA السابق من عنوان IP هذا
  • نطاقات IP المعروفة لمراكز البيانات (AWS، وGCP، وAzure، وDigitalOcean، وما إلى ذلك)
  • نطاقات موفر proxy/VPN المعروفة
  • تقارير إساءة الاستخدام وقواعد بيانات البريد العشوائي
  • إشارات الاحتيال في البحث والإعلان
نوع الملكية الفكرية تأثير النتيجة النموذجية
سكنية، وسوء المعاملة منخفضة محايد إلى +0.1
سكني، بعض الإساءات -0.1 إلى -0.2
مركز البيانات -0.3 إلى -0.5
الوكيل المعروف/VPN -0.2 إلى -0.4
عقدة خروج تور -0.4 إلى -0.6
تم وضع علامة إساءة الاستخدام مؤخرًا -0.3 إلى -0.6

بصمة TLS (JA3/JA4)

تكشف مصافحة TLS عن مجموعات التشفير والامتدادات التي يدعمها العميل. لكل متصفح بصمة مميزة:

  • Chrome: ترتيب تشفير محدد، TLS 1.3، امتدادات GREASE
  • طلبات بايثون: ترتيب تشفير مختلف، لا يوجد GREASE، قائمة امتدادات أبسط
  • curl: الحد الأدنى من الامتدادات، والأنماط الخاصة بـ OpenSSL

تأثير النتيجة: بصمة TLS بدون متصفح → -0.2 إلى -0.4.

رؤوس HTTP

يتحقق خادم reCAPTCHA من رؤوس HTTP الخاصة بالعميل الطالب:

رأس المؤشر البشري مؤشر بوت
User-Agent يطابق إصدار المتصفح المعروف نسخة قديمة، أداة التشغيل الآلي UA
Accept-Language مليئة بالتفضيلات المحلية مفقودة أو عامة
Accept-Encoding gzip, deflate, br مفقودة أو غير عادية
Sec-CH-UA تلميحات العميل مطابقة المتصفح مفقودة (رؤوس ما قبل 2022)

الفئة 4: إشارات التاريخ (الوزن: متوسط)

ملفات تعريف الارتباط لحساب جوجل

المستخدمون الذين قاموا بتسجيل الدخول إلى حساب Google مع سجل التصفح يسجلون نقاطًا أعلى:

  • SID، HSID، SSID ملفات تعريف الارتباط → المستخدم لديه جلسة Google
  • لا توجد ملفات تعريف الارتباط الخاصة بـ Google → مستخدم غير معروف، درجة بداية منخفضة

تأثير النتيجة: جلسة Google النشطة → +0.1 إلى +0.3.

ملفات تعريف الارتباط reCAPTCHA

يقوم reCAPTCHA بتعيين ملفات تعريف الارتباط الخاصة به بعد إكمال التحدي بنجاح:

  • _GRECAPTCHA ملف تعريف الارتباط → الحل الناجح السابق
  • rc::a، rc::b، rc::c → ملفات تعريف الارتباط لبيانات تحليل المخاطر

تأثير النتيجة: جلسة جديدة بدون ملفات تعريف الارتباط reCAPTCHA → -0.1 إلى -0.2.

السمعة عبر المواقع

تقوم Google بتتبع سلوك reCAPTCHA عبر جميع المواقع باستخدام ملف تعريف المتصفح نفسه. يؤدي السلوك الجيد في الموقع "أ" إلى تحسين النتائج في الموقع "ب".


الفئة 5: الإشارات البيئية (الوزن: منخفض-متوسط)

اتساق المنطقة الزمنية

const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
// Should match IP geolocation
// "America/New_York" with a New York IP → consistent
// "America/New_York" with a Tokyo IP → suspicious

أبعاد الشاشة والنافذة

screen.width, screen.height       // Physical screen
window.innerWidth, innerHeight    // Browser window
window.outerWidth, outerHeight    // Including browser chrome

تأثير النتيجة: أبعاد غير عادية (0×0، كبيرة للغاية، أو افتراضية تمامًا) → -0.1 إلى -0.2.

حالة البطارية (إن وجدت)

navigator.getBattery().then(battery => {
    battery.level;    // 0.0 to 1.0
    battery.charging; // true/false
});

توفر واجهة برمجة تطبيقات البطارية إشارة بسيطة - الشحن الدائم بمعدل نجاح عالٍ يتوافق مع بيئة تطوير سطح المكتب.


استراتيجيات تحسين النتيجة

للحصول على درجات أعلى في الأتمتة

استراتيجية التأثير المتوقع صعوبة
استخدم Chrome الحقيقي (وليس بدون رأس) +0.3 إلى +0.5 منخفض
قم بإزالة علامة navigator.webdriver +0.2 إلى +0.3 منخفض
إضافة محاكاة حركة الماوس +0.2 إلى +0.4 متوسط
استخدم عناوين IP للوكيل السكني +0.2 إلى +0.3 منخفضة (التكلفة)
احتفظ بملفات تعريف الارتباط الخاصة بـ Google عبر الجلسات +0.1 إلى +0.2 متوسط
مطابقة بصمة TLS مع Chrome +0.1 إلى +0.3 عالية
محاكاة استكشاف الصفحة قبل النموذج +0.1 إلى +0.2 متوسط

أو: استخدم أداة حل API

بدلاً من تحسين كل هذه الإشارات، استخدم CaptchaAI لإنشاء رموز صالحة بغض النظر عن النتيجة:

import requests
import time

API_KEY = "YOUR_API_KEY"

# Request a high-score token
submit = requests.post("https://ocr.captchaai.com/in.php", data={
    "key": API_KEY,
    "method": "userrecaptcha",
    "googlekey": "6LcR_RsTAAAAAN_r0GEkGBfq3L7KmU5JbPHJtwNp",
    "pageurl": "https://example.com/login",
    "version": "v3",
    "action": "login",
    "json": 1,
})

task_id = submit.json()["request"]

for _ in range(60):
    time.sleep(5)
    result = requests.get("https://ocr.captchaai.com/res.php", params={
        "key": API_KEY,
        "action": "get",
        "id": task_id,
        "json": 1,
    }).json()

    if result.get("status") == 1:
        token = result["request"]
        print(f"High-score token received")
        break

تم تحسين بيئة الحل لتحقيق أقصى قدر من الدرجات - التعامل مع جميع إشارات المتصفح والسلوك والشبكة داخليًا.


الأسئلة المتداولة

ما هي نتيجة reCAPTCHA v3 "الجيدة"؟

تعتبر النتيجة 0.7 أو أعلى بشكل عام مثل الإنسان. تحدد معظم مواقع الويب عتبتها بين 0.5 و0.7. درجة 0.9 تجتاز جميع التطبيقات تقريبًا. واجهة CaptchaAI لا تحتوي على معلمة score-target — Google هي التي تحدد النتيجة. لرفع النتيجة المُرجَعة، أرفق cookies وuserAgent وproxy بالطلب.

هل يؤدي استخدام VPN دائمًا إلى خفض النتيجة؟

عادةً ما تؤدي عناوين VPN IP من مراكز البيانات إلى خفض الدرجات بمقدار 0.2-0.4. ومع ذلك، فإن خدمات VPN السكنية تنتج نتائج أفضل. ويعتمد تأثير النتيجة على سجل سمعة عنوان IP المحدد، وليس على خدمة VPN نفسها.

لماذا تختلف درجاتي بين الصفحات الموجودة على نفس الموقع؟

يستخدم reCAPTCHA v3 المعلمة action لوضع النتائج في سياقها. قد يكون للإجراءات المختلفة (الصفحة الرئيسية، تسجيل الدخول، الخروج) درجات أساسية مختلفة. بالإضافة إلى ذلك، تتراكم الإشارات السلوكية أثناء الجلسة — قد تسجل الصفحات اللاحقة نقاطًا أعلى نظرًا لتوفر المزيد من بيانات السلوك.

هل يمكنني التحقق من نتيجة اختبار reCAPTCHA الخاص بي دون امتلاك الموقع؟

ليس مباشرة. يتم إرجاع نتائج reCAPTCHA v3 إلى الخادم فقط عبر siteverify API. ومع ذلك، يمكنك تقدير درجاتك من خلال ملاحظة ما إذا كانت المواقع تعرض لك التحديات (درجة منخفضة) أو تمرر لك (درجة عالية) في تطبيقات reCAPTCHA v3 المعروفة.


ملخص

يتم تحديد نتائج reCAPTCHA من خلال بصمة المتصفح (وجود واجهة برمجة التطبيقات، اللوحة القماشية، WebGL)، التحليل السلوكي (حركة الماوس، توقيت لوحة المفاتيح، أنماط التمرير)، سمعة الشبكة (نوع IP، بصمة TLS)، التاريخ (ملفات تعريف الارتباط من Google، الحلول السابقة)، والاتساق البيئي (المنطقة الزمنية، أبعاد الشاشة). بالنسبة للأتمتة التي تحتاج إلى درجات عالية متسقة، استخدمCaptchaAIوأرفق cookies وuserAgent وproxy سكني لرفع النتيجة التي تعيدها Google.

مقالات ذات صلة

أدلة ذات صلة

  • البدء السريع مع CaptchaAI: حلّ أول كابتشا في 5 دقائق
  • كيفية حلّ reCAPTCHA v2 عبر الـ API: دليل خطوة بخطوة
التعليقات غير مفعّلة لهذا المقال.