المقارنات

المقارنة بين حل CAPTCHA بالرمز المميز وحله بملفات تعريف الارتباط

تأتي حلول اختبار CAPTCHA في شكلين: الرموز المميزة التي تقوم بإدخالها في عمليات إرسال النماذج، وملفات تعريف الارتباط التي تمنح الوصول على مستوى الجلسة. يعتمد اختيار النهج الصحيح على اختبار CAPTCHA الذي تواجهه وكيفية التحقق من صحة الموقع المستهدف.


في لمحة

الجانب القائم على الرمز المميز على أساس ملفات تعريف الارتباط
الإخراج رمز سلسلة (500+ حرف) ملف تعريف ارتباط المتصفح (cf_clearance، وما إلى ذلك)
تستخدم ل reCAPTCHA v2/v3، hCaptcha، Turnstile صفحات Cloudflare Challenge
كيف يتم استخدامه يتم حقنه في حقل النموذج أو نص POST تم إرساله مع طلبات HTTP اللاحقة
مدى الحياة 60-120 ثانية 30 دقيقة إلى 24 ساعة
قابلة لإعادة الاستخدام لا (استخدام واحد) نعم (لمدة الجلسة)
المتصفح مطلوب للإستخراج فقط للحل (يلزم متصفح كامل)

الحل القائم على الرمز المميز

كيف يعمل

  1. قم باستخراج مفتاح الموقع من الصفحة
  2. أرسل مفتاح الموقع + عنوان URL للصفحة إلى CaptchaAI
  3. تلقي سلسلة رمزية
  4. أدخل الرمز المميز في حقل النموذج المخفي
  5. أرسل النموذج

ما هي اختبارات CAPTCHA التي تستخدم الرموز المميزة

  • reCAPTCHA v2: ينتقل الرمز المميز إلى منطقة النص g-recaptcha-response
  • reCAPTCHA v3: نفس الحقل، ولكن يحتاج أيضًا إلى actionenterprise=1 لمواقع Enterprise)
  • hCaptcha: ينتقل الرمز المميز إلى h-captcha-response
  • Turnstile: ينتقل الرمز إلى cf-turnstile-response

التنفيذ

import requests
import time

API_KEY = "YOUR_API_KEY"

# 1. Solve
resp = requests.post("https://ocr.captchaai.com/in.php", data={
    "key": API_KEY,
    "method": "userrecaptcha",
    "googlekey": "6Le-wvkSAAAAAPBMR...",
    "pageurl": "https://example.com/login",
    "json": "1",
}).json()
task_id = resp["request"]

# 2. Poll
token = None
for _ in range(24):
    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["status"] == 1:
        token = result["request"]
        break

# 3. Submit form with token (no browser needed)
form_response = requests.post("https://example.com/login", data={
    "email": "user@example.com",
    "password": "password",
    "g-recaptcha-response": token,
})

الخصائص الرئيسية

  • لا حاجة إلى متصفح للإرسال: يمكنك إدخال الرمز المميز مباشرةً في طلب HTTP POST
  • قصيرة العمر: تنتهي صلاحية الرموز خلال 60-120 ثانية - قم بحلها واستخدامها على الفور
  • الاستخدام الفردي: يعمل كل رمز مميز مرة واحدة؛ حل مرة أخرى لكل إرسال النموذج
  • التحقق من جانب الخادم: يرسل الموقع المستهدف الرمز المميز إلى Google/Cloudflare/hCaptcha للتحقق

الحل القائم على ملفات تعريف الارتباط

كيف يعمل

  1. يتم تقديم صفحة التحدي (Cloudflare Challenge، JS Challenge)
  2. المتصفح يحل التحدي (قد يتضمن Turnstile داخليًا)
  3. يقوم الخادم بتعيين ملف تعريف ارتباط الجلسة (cf_clearance)
  4. جميع الطلبات اللاحقة مع ملف تعريف الارتباط هذا تتخطى التحدي

ما هي اختبارات CAPTCHA التي تستخدم ملفات تعريف الارتباط

  • صفحات Cloudflare Challenge: ملف تعريف الارتباط cf_clearance
  • تحدي JS: تحدي Cloudflare لJavaScript فقط
  • ** بعض تحديات WAF **: جدران حماية تطبيقات الويب المختلفة

التنفيذ

from selenium import webdriver
import requests
import time

# 1. Solve the challenge in a browser
driver = webdriver.Chrome()
driver.get("https://example.com/protected")

# Wait for challenge to complete (manually or with CaptchaAI)
time.sleep(10)  # Or use CaptchaAI token injection

# 2. Extract cookies from browser
cookies = driver.get_cookies()
cf_clearance = next(
    (c for c in cookies if c["name"] == "cf_clearance"), None
)
user_agent = driver.execute_script("return navigator.userAgent")
driver.quit()

# 3. Use cookies for subsequent requests (no browser needed)
session = requests.Session()
session.headers.update({"User-Agent": user_agent})

for cookie in cookies:
    session.cookies.set(cookie["name"], cookie["value"])

# All requests now pass the challenge
for page in range(1, 50):
    resp = session.get(f"https://example.com/api/data?page={page}")
    print(f"Page {page}: {resp.status_code}")

الخصائص الرئيسية

  • المتصفح مطلوب للحل: يحتاج التحدي إلى بيئة متصفح كاملة
  • طويلة العمر: تدوم ملفات تعريف الارتباط من 30 دقيقة إلى 24 ساعة
  • قابلة لإعادة الاستخدام: حل واحد يمنح الوصول إلى العديد من الطلبات
  • مرتبط بـ IP: يرتبط ملف تعريف الارتباط بعنوان IP الذي حل التحدي
  • مرتبط بـ UA: يجب أن يتطابق وكيل المستخدم مع الوكيل المستخدم أثناء الحل

متى تستخدم أي

السيناريو النهج لماذا
نموذج تسجيل الدخول باستخدام reCAPTCHA رمز مميز إرسال الرمز المميز مع بيانات النموذج
تجريف موقع محمي بواسطة Cloudflare ملف تعريف الارتباط حل واحد، العديد من طلبات الصفحة
تقديم النموذج مع Turnstile رمز مميز حقن في cf-turnstile-response
الوصول إلى واجهة برمجة التطبيقات خلف Cloudflare ملف تعريف الارتباط إعادة استخدام ملف تعريف الارتباط لجميع مكالمات API
تقديم نماذج متعددة الرمز (في كل مرة) يحتاج كل نموذج إلى رمز مميز جديد
تجريف السائبة نفس المجال ملف تعريف الارتباط حل مرة واحدة، وكشط حتى تنتهي صلاحية ملف تعريف الارتباط

نهج هجين

تستخدم بعض المواقع كليهما: صفحة Cloudflare Challenge (ملف تعريف الارتباط) لحماية النموذج الذي يحتوي على reCAPTCHA (الرمز المميز).

# Step 1: Get past Cloudflare (cookie)
session = get_cf_clearance_session("https://example.com")

# Step 2: Load the form (using the cookie session)
html = session.get("https://example.com/submit").text
sitekey = extract_sitekey(html)

# Step 3: Solve reCAPTCHA (token)
token = solve_recaptcha(sitekey, "https://example.com/submit")

# Step 4: Submit form (cookie + token)
resp = session.post("https://example.com/submit", data={
    "data": "value",
    "g-recaptcha-response": token,
})

ملخص المقارنة

ميزة رمز مميز ملف تعريف الارتباط
حل التكلفة لكل تقديم النموذج لكل جلسة (المطفأة)
حل الوقت 10-30 ثانية لكل رمز 10-30 ثانية مرة واحدة
طلبات لكل حل 1 كثيرة (حتى انتهاء الصلاحية)
مرونة الملكية الفكرية الرمز يعمل من أي IP ملف تعريف الارتباط مرتبط بحل IP
متصفح للاستخدام ليست هناك حاجة ليست هناك حاجة (فقط ملف تعريف الارتباط)
خطر انتهاء الصلاحية 60-120 ثانية 30 دقيقة - 24 ساعة

الأسئلة الشائعة

هل يمكنني تحويل اختبار CAPTCHA القائم على الرمز المميز إلى اختبار يعتمد على ملفات تعريف الارتباط؟

لا، يعتمد النهج على كيفية التحقق من صحة الموقع. يستخدم reCAPTCHA الرموز المميزة دائمًا؛ يستخدم Cloudflare Challenge ملفات تعريف الارتباط دائمًا.

ما هو أرخص للتجريف بكميات كبيرة؟

يعد استخدام ملفات تعريف الارتباط أرخص بكثير عند توفره. حل واحد يغطي آلاف الطلبات. يتطلب الاعتماد على الرمز المميز حلاً لكل إرسال نموذج.

هل يتعامل CaptchaAI مع كليهما؟

نعم. تقوم اختبارات CAPTCHA المستندة إلى الرمز المميز بإرجاع سلسلة رمزية. بالنسبة لصفحات Cloudflare Challenge، يمكنك استخدام Turnstile Solver للحصول على الرمز المطلوب لإكمال التحدي، ثم استخراج ملف تعريف الارتباط الناتج.


حل اختبارات CAPTCHA باستخدام CaptchaAI

احصل على مفتاح API الخاص بك علىcaptchaai.com.


أدلة ذات صلة

  • Cloudflare Challenge cf_clearance دليل ملفات تعريف الارتباط
  • استخراج معلمات reCAPTCHA من مصدر الصفحة
التعليقات غير مفعّلة لهذا المقال.