Trường Hợp Sử Dụng

Cách nhà cung cấp CAPTCHA phát hiện tự động hoá

Phạm vi an toàn: Bài viết chỉ dành cho môi trường QA/staging do bạn sở hữu hoặc được uỷ quyền. Mọi mẫu dưới đây áp dụng cho tích hợp CAPTCHA của chính bạn — không nhắm tới bên thứ ba hay luồng không được phép.

CAPTCHA không xuất hiện ngẫu nhiên: hệ thống anti-bot chấm điểm mỗi phiên theo tín hiệu IP, header HTTP, fingerprint trình duyệt và hành vi. Hiểu các tín hiệu này giúp bạn trả lời hai câu hỏi: vì sao người dùng thật đôi khi bị CAPTCHA chặn, và làm sao đo điều đó trong QA thay vì đoán mò.

Các lớp tín hiệu giúp phát hiện tự động hoá

Không có một công tắc duy nhất — thử thách bật lên khi đủ tín hiệu cộng dồn vượt ngưỡng nghi ngờ. Bốn nhóm sau tác động trực tiếp đến người dùng thật:

  • IP và tần suất request: quá nhiều request từ một IP hoặc IP thuộc dải datacenter đều nâng nghi ngờ; một văn phòng dùng chung NAT có thể khiến ai cũng gặp CAPTCHA.
  • Header HTTP: thiếu Accept-Language, Referer hay cookie phiên đều là dấu hiệu của bot.
  • Fingerprint JavaScript: dịch vụ anti-bot chạy JS dựng hồ sơ trình duyệt (navigator, plugin, WebGL, canvas); chế độ headless để lại đặc trưng riêng.
  • Hành vi: người thật có nhịp chuột và điều hướng bất quy tắc; luồng tự động truy cập tuần tự, không sự kiện chuột nên bị nghi ngờ.

reCAPTCHA v3 chấm điểm phiên thế nào

reCAPTCHA v3 chạy ẩn và gán mỗi phiên một điểm từ 0.0 (nhiều khả năng bot) đến 1.0 (nhiều khả năng người thật) từ chính các tín hiệu ở trên:

Điểm Phân loại Hành động điển hình
0,7–1,0 Nhiều khả năng người thật Cho qua
0,3–0,7 Chưa chắc chắn Có thể hiện CAPTCHA
0,0–0,3 Nhiều khả năng bot Chặn hoặc buộc giải reCAPTCHA v2

Cloudflare và Turnstile

Cloudflare cũng chấm điểm phiên rồi chọn: cho qua, hiện widget Turnstile cho lưu lượng ranh giới, hoặc chặn thẳng. CaptchaAI hỗ trợ giải cả Turnstile lẫn trang Cloudflare Challenge để bạn dựng lại các luồng này trên staging.

Ảnh hưởng tới người dùng thật và cách đo

Tỷ lệ hiển thị CAPTCHA quá cao làm giảm chuyển đổi — mỗi thử thách thừa là một điểm rơi trong phễu. Hãy đo tỷ lệ theo từng luồng (đăng nhập, đăng ký, thanh toán).

Ví dụ một đội QA thuê ngoài ở TP.HCM ra Internet qua một IP và chạy CI headless: cả hai đẩy điểm tin cậy xuống, làm CAPTCHA bật thường xuyên hơn người thật. Dựng lại cấu hình đó trên staging để đo con số ổn định.

Tái tạo luồng CAPTCHA trên staging

Đoạn Python dưới đây minh hoạ luồng tối thiểu để kiểm thử một CAPTCHA widget trên staging qua CaptchaAI: gửi task và lấy kết quả.

import os
import requests

API_KEY = os.environ['CAPTCHAAI_KEY']
QA_PAGE_URL = os.environ['QA_PAGE_URL']  # ví dụ https://staging.example.com/qa-login
QA_SITE_KEY = os.environ['QA_SITE_KEY']


def submit_qa_recaptcha() -> str:
    payload = {
        'clientKey': API_KEY,
        'task': {
            'type': 'NoCaptchaTaskProxyless',
            'websiteURL': QA_PAGE_URL,
            'websiteKey': QA_SITE_KEY,
        },
    }
    response = requests.post(
        'https://api.captchaai.com/createTask',
        json=payload,
        timeout=30,
    )
    response.raise_for_status()
    return response.json()['taskId']


def fetch_qa_result(task_id: str) -> dict:
    payload = {'clientKey': API_KEY, 'taskId': task_id}
    response = requests.post(
        'https://api.captchaai.com/getTaskResult',
        json=payload,
        timeout=30,
    )
    response.raise_for_status()
    return response.json()

Khắc phục sự cố

Vấn đề Nguyên nhân thường gặp Cách xử lý
Test không tìm thấy widget Selector đổi hoặc thời điểm load Kiểm tra selector và wait_for_selector trên staging
CaptchaAI trả ERROR_NO_SLOT_AVAILABLE Hàng đợi đầy tạm thời Thử lại với backoff nội bộ
Backend QA từ chối token Sai action/sitekey/secret Đối chiếu cấu hình backend với staging

Ghi log để chẩn đoán, không đoán mò

Hãy ghi log có cấu trúc cho mỗi lần chạy QA. Chỉ số đáng thu thập: tổng thời gian lấy token, mã trạng thái HTTP, ID task và độ sâu hàng đợi. Dùng correlation id (ví dụ OpenTelemetry) để phát lại toàn bộ kịch bản.

Danh mục kiểm tra

  • Phạm vi kiểm thử chỉ giới hạn trong ứng dụng của bạn hoặc tài nguyên đã được uỷ quyền.
  • API key CaptchaAI nằm trong CI secret hoặc vault, không nằm trong mã nguồn.
  • Mỗi lần chạy đều ghi lại thời gian gọi và mã trạng thái phản hồi.
  • Có chính sách thử lại idempotent kèm giới hạn; bài kiểm thử tái lập trên CI không cần can thiệp thủ công.

Câu hỏi thường gặp

reCAPTCHA v3 score thấp nghĩa là gì?

Nghĩa là hệ thống coi phiên nhiều khả năng là tự động, dựa trên fingerprint, tương tác và uy tín IP. Phiên headless và CI thường nhận điểm thấp hơn người thật.

CaptchaAI có hỗ trợ hCaptcha để kiểm thử không?

Không. CaptchaAI chưa hỗ trợ hCaptcha (và FunCaptcha); nó hỗ trợ reCAPTCHA v2/v3, Turnstile, Cloudflare Challenge và GeeTest v3.

Đo tỷ lệ hiển thị CAPTCHA trong ứng dụng như thế nào?

Ghi log theo từng luồng: số phiên chạm thử thách trên tổng số phiên, tách theo môi trường và loại CAPTCHA, rồi chạy lại trên staging với cấu hình từ production.

Hướng dẫn liên quan

Tái tạo luồng CAPTCHA của bạn trên staging và đo tỷ lệ hiển thị với CaptchaAI.

Os comentários estão desativados para este artigo.