المقارنات

اختبار CAPTCHA النصي مقابل اختبار CAPTCHA للصور: مقارنة المطورين

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


كيف تعمل اختبارات CAPTCHA النصية

تعرض اختبارات CAPTCHA النصية أحرفًا مشوهة كصورة. يقرأ المستخدم الأحرف ويكتبها في حقل النص.

تقنيات CAPTCHA النصية الشائعة

تقنية الغرض
تزييف الشخصية ثني الحروف لمنع التعرف الضوئي على الحروف البسيط
ضجيج الخلفية لإضافة خطوط أو نقاط أو تدرجات لونية خلف النص
تداخل الأحرف تداخل الحروف المتجاورة لمنع التجزئة
عشوائية الخط يستخدم خطوطًا وأحجامًا متعددة لكل تحدٍ
اختلاف اللون عشوائيا الطابع وألوان الخلفية

تدفق نص CAPTCHA

Server generates random string (e.g., "X7mK9p")
    ↓
Applies distortion: warping, noise, overlap
    ↓
Renders as PNG/JPEG image
    ↓
User reads characters, types into input field
    ↓
Server compares input against stored string (case-insensitive usually)

كيف تعمل صور CAPTCHA

تقدم اختبارات CAPTCHA للصور شبكة من الصور وتطلب من المستخدم تحديد الصور المطابقة للفئة.

أنواع صور CAPTCHA الشائعة

النوع التحدي مزود
اختيار الشبكة "حدد كافة المربعات التي تحتوي على إشارات المرور" reCAPTCHA v2
تصنيف الصور "انقر على جميع الصور التي تحتوي على حافلة" hCaptcha
عد الكائنات "كم عدد الدراجات الموجودة في هذه الصورة؟" مخصص
التناوب "تدوير الصورة إلى الاتجاه الصحيح" FunCaptcha

تدفق صورة CAPTCHA

Server selects images from a labeled dataset
    ↓
Presents 3×3 or 4×4 grid with a text prompt
    ↓
User clicks matching images
    ↓
Server validates selections against ground truth
    ↓
If fading images: new images load in place of selected ones (multi-round)

مقارنة وجها لوجه

البعد نص CAPTCHA صورة التحقق
مستوى الأمان منخفض — تقنية التعرف الضوئي على الحروف (OCR) الحديثة تحل المشكلة بنسبة 95%+ عالي — يتطلب التعرف على الكائنات
** وقت حل المستخدم ** 5-10 ثواني 10-30 ثانية
معدل الفشل (البشر) 15-20% 8-15%
إمكانية الوصول ضعيف لضعاف البصر سيئة للغاية بالنسبة لضعاف البصر
** سهولة استخدام الجوال ** معتدل (أحرف صغيرة) جيد (الاختيار على أساس النقر)
** صعوبة الأتمتة ** سهل (التعرف الضوئي على الحروف) صعب (تصنيف الصور)
** تكلفة النشر ** مجاني (مستضاف ذاتيًا) مجاني ومدفوع (واجهة برمجة تطبيقات الطرف الثالث)
تكلفة تجاوز الروبوت 0.50 دولار - 1.00 دولار لكل 1000 1.50 دولار - 3.00 دولار لكل 1000
** جمع البيانات ** لا شيء قد يقوم بتدريب نماذج تعلم الآلة (reCAPTCHA)
جهود التنفيذ الحد الأدنى (إنشاء الصور من جانب الخادم) معتدل (تكامل JavaScript SDK)

اكتشاف النص مقابل الصورة CAPTCHAs

كشف بايثون

import requests
from bs4 import BeautifulSoup
import re

def detect_captcha_type(url):
    """Detect whether page uses text or image CAPTCHA."""
    response = requests.get(url, timeout=10)
    soup = BeautifulSoup(response.text, "html.parser")
    html = response.text

    result = {"text_captcha": False, "image_captcha": False, "provider": None}

    # Check for reCAPTCHA (image-based)
    if "google.com/recaptcha" in html or "g-recaptcha" in html:
        result["image_captcha"] = True
        result["provider"] = "reCAPTCHA"
        return result

    # Check for hCaptcha (image-based)
    if "hcaptcha.com" in html or "h-captcha" in html:
        result["image_captcha"] = True
        result["provider"] = "hCaptcha"
        return result

    # Check for text CAPTCHA patterns
    captcha_images = soup.find_all("img", attrs={
        "src": re.compile(r"captcha", re.I)
    })
    captcha_inputs = soup.find_all("input", attrs={
        "name": re.compile(r"captcha", re.I)
    })

    if captcha_images and captcha_inputs:
        # Image with text input = text CAPTCHA
        result["text_captcha"] = True
        result["provider"] = "custom text CAPTCHA"
        return result

    # Check for FunCaptcha (image-based rotation)
    if "funcaptcha" in html.lower() or "arkoselabs" in html.lower():
        result["image_captcha"] = True
        result["provider"] = "FunCaptcha"
        return result

    return result

captcha = detect_captcha_type("https://example.com/login")
print(captcha)

الكشف عن Node.js

const axios = require("axios");
const cheerio = require("cheerio");

async function detectCaptchaType(url) {
    const { data: html } = await axios.get(url, { timeout: 10000 });
    const $ = cheerio.load(html);

    const result = { textCaptcha: false, imageCaptcha: false, provider: null };

    // reCAPTCHA detection
    if (html.includes("google.com/recaptcha") || html.includes("g-recaptcha")) {
        result.imageCaptcha = true;
        result.provider = "reCAPTCHA";
        return result;
    }

    // hCaptcha detection
    if (html.includes("hcaptcha.com") || html.includes("h-captcha")) {
        result.imageCaptcha = true;
        result.provider = "hCaptcha";
        return result;
    }

    // Text CAPTCHA: image + input with "captcha" in name/class
    const captchaImgs = $("img[src*='captcha' i]").length;
    const captchaInputs = $("input[name*='captcha' i]").length;

    if (captchaImgs > 0 && captchaInputs > 0) {
        result.textCaptcha = true;
        result.provider = "custom text CAPTCHA";
        return result;
    }

    return result;
}

detectCaptchaType("https://example.com/login").then(console.log);

حل اختبارات CAPTCHA النصية باستخدام CaptchaAI

تعتمد اختبارات CAPTCHA النصية في جوهرها على الصور — حيث يتم عرض النص المشوه بتنسيق PNG أو JPEG. تتعامل واجهة Image OCR API الخاصة بـ CaptchaAI مع هذه الأمور مباشرةً.

import requests
import base64
import time

API_KEY = "YOUR_API_KEY"

# Get the CAPTCHA image
captcha_url = "https://example.com/captcha.png"
image_data = requests.get(captcha_url).content
b64 = base64.b64encode(image_data).decode()

# Submit to CaptchaAI
submit = requests.post("https://ocr.captchaai.com/in.php", data={
    "key": API_KEY,
    "method": "base64",
    "body": b64,
    "json": 1,
})
task_id = submit.json()["request"]

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

    if resp.get("status") == 1:
        print(f"CAPTCHA text: {resp['request']}")
        break

يدعم CaptchaAI أكثر من 27500 نوع من صور CAPTCHA، بما في ذلك النص المشوه والمعادلات الرياضية وتحديات التعرف على الأحرف.


متى يتم استخدام نوع CAPTCHA

اختر اختبار CAPTCHA النصي عندما:

  • أنت بحاجة إلى حل خالٍ من الاعتمادية ومستضاف ذاتيًا
  • قاعدة المستخدمين الخاصة بك لديها متطلبات إمكانية الوصول (يمكن أن تحتوي اختبارات CAPTCHA النصية على بدائل صوتية)
  • حركة مرور الروبوتات منخفضة وتحتاج إلى الوقاية الأساسية من البريد العشوائي
  • تريد تجنب جمع بيانات الطرف الثالث

اختر صورة CAPTCHA عندما:

  • أنت بحاجة إلى حماية قوية للبوت
  • يتعامل تطبيقك مع البيانات الحساسة (تسجيل الدخول والمدفوعات)
  • يمكنك قبول احتكاك أعلى للمستخدم
  • تريد حلاً مُدارًا يتضمن تحديثات مستمرة

لا تختار أيًا منهما عندما:

  • يمكن لاختبارات CAPTCHA غير المرئية (reCAPTCHA v3، Cloudflare Turnstile) التعامل مع حركة المرور الخاصة بك دون أي تدخل من المستخدم

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

ما هو نوع CAPTCHA الذي يمكن الوصول إليه بشكل أكبر؟

لا يمكن الوصول إلى أي من النوعين حقًا. تعتبر اختبارات CAPTCHA النصية صعبة بالنسبة للمستخدمين ضعاف البصر ما لم يتم توفير بديل صوتي. تعد اختبارات CAPTCHA للصور أسوأ - حيث أن مهام تحديد الشبكة غير قابلة للاستخدام مع برامج قراءة الشاشة. تُعد اختبارات CAPTCHA غير المرئية (reCAPTCHA v3، Cloudflare Turnstile) الخيار الأكثر سهولة للوصول لأنها لا تتطلب أي تدخل من المستخدم.

هل لا تزال اختبارات CAPTCHA النصية فعالة في عام 2025؟

لا. تعمل محركات التعرف الضوئي على الحروف (OCR) الحديثة على حل اختبارات CAPTCHA النصية القياسية بدقة تزيد عن 95%. يمكن أن تؤدي اختبارات CAPTCHA النصية المشوهة بشدة إلى تقليل هذه النسبة إلى 80-85%، ولكن على حساب سهولة القراءة البشرية. تحظر اختبارات CAPTCHA النصية الآن مستخدمين أكثر شرعية من برامج الروبوت.

ما هو النوع الأرخص في حله باستخدام واجهة برمجة التطبيقات (API)؟

تعتبر اختبارات CAPTCHA النصية أرخص. تبلغ تكلفة الحل القائم على التعرف الضوئي على الحروف حوالي 0.50 دولارًا - 1.00 دولارًا لكل 1000 حل. تبلغ تكلفة اختبارات CAPTCHA للصور (reCAPTCHA وhCaptcha) ما بين 1.50 إلى 3.00 دولارات لكل 1000 عملية حل لأنها تتطلب معالجة أكثر تعقيدًا.

هل يستطيع CaptchaAI حل اختبارات CAPTCHA النصية والصورة؟

نعم. يقوم CaptchaAI بحل اختبارات CAPTCHA النصية من خلال Image OCR API (أكثر من 27500 نوع مدعوم) وCAPTCHA الصور من خلال أدوات حل reCAPTCHA وhCaptcha وصور الشبكة.


ملخص

تعتبر اختبارات CAPTCHA النصية بسيطة، ورخيصة الثمن في النشر، وسهلة التجاوز باستخدام التعرف الضوئي على الحروف (OCR). من الصعب أتمتة اختبارات CAPTCHA للصور، كما أنها توفر حماية أقوى للروبوتات على حساب زيادة احتكاك المستخدم. بالنسبة للمطورين الذين ينشئون سير عمل آلي، تتطلب اختبارات CAPTCHA النصية التعرف الضوئي على الحروف (OCR) فقط (يسهل التعامل معها بواسطةصورة CaptchaAI للتعرف الضوئي على الحروف (OCR).)، بينما تتطلب اختبارات CAPTCHA للصور أدوات حل متخصصة مثل reCAPTCHA أو hCaptcha APIs الخاصة بـ CaptchaAI. في عام 2025، سيكون الاتجاه نحو اختبارات CAPTCHA غير المرئية التي تقضي على احتكاك المستخدم تمامًا.

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

أدلة ذات صلة

التعليقات غير مفعّلة لهذا المقال.