Token reCAPTCHA v3 tích hợp đúng cú pháp nhưng vẫn bị server từ chối — nguyên nhân gần như luôn là điểm số (score) quá thấp, không phải lỗi request. reCAPTCHA v3 chạy ngầm, không hiển thị ô "Tôi không phải robot": nó chấm điểm mỗi phiên từ 0,0 (khả năng cao là bot) đến 1,0 (khả năng cao là người thật) rồi trả điểm đó kèm token.
Không phải solver nào cũng trả về điểm ngang nhau. Bài này so sánh điểm thực tế giữa các nhà cung cấp phổ biến, chỉ ra bạn lãng phí bao nhiêu token ở từng ngưỡng, và cách CaptchaAI tác động vào điểm trả về.
Cách reCAPTCHA v3 chấm điểm hành vi người dùng
Browser visits page ──▶ reCAPTCHA JS runs ──▶ Generates token
│
Score assigned:
0.1 = likely bot
0.3 = suspicious
0.5 = neutral
0.7 = likely human
0.9 = very human
│
Server verifies token ◀──────────────────────────────┘
If score < threshold ──▶ Block / challenge
If score >= threshold ──▶ Allow
Ngưỡng chấp nhận không cố định — mỗi trang tự cấu hình theo mức độ rủi ro của luồng đó:
| Loại trang | Ngưỡng thường gặp |
|---|---|
| Đăng nhập | 0,5 |
| Đăng ký tài khoản | 0,5-0,7 |
| Thanh toán | 0,3-0,5 |
| Gửi biểu mẫu | 0,5 |
| Truy cập API | 0,7 |
Token dưới ngưỡng bị từ chối âm thầm — không có thông báo lỗi, chỉ có request bị chặn hoặc yêu cầu xác minh bổ sung.
Tỷ lệ token vượt ngưỡng thực tế
Con số quan trọng hơn "điểm trung bình" là: bao nhiêu phần trăm token thực sự vượt qua ngưỡng của trang đích?
| Ngưỡng trang web | CaptchaAI | CapSolver | 2Captcha | Anti-Captcha |
|---|---|---|---|---|
| 0,3 | 99% | 90% | 50% | 75% |
| 0,5 | 97% | 75% | 20% | 50% |
| 0,7 | 92% | 45% | 5% | 20% |
| 0,9 | 70% | 15% | <1% | 5% |
Ở ngưỡng 0,5, 2Captcha lãng phí 80% số token bạn đã trả tiền — token điểm thấp vẫn tính phí như token điểm cao.
So sánh điểm reCAPTCHA v3 giữa các solver
Số liệu dưới đây dựa trên đo đạc nội bộ và báo cáo từ người dùng tại thời điểm ghi nhận. Kết quả thực tế thay đổi theo môi trường, khối lượng và thời điểm.
Điểm trung bình theo solver
| Solver | Điểm trung bình | Phạm vi điểm | Kiểm soát điểm |
|---|---|---|---|
| CapSolver | 0,5-0,7 | 0,3-0,9 | Một phần |
| 2Captcha | 0,1-0,3 | 0,1-0,5 | ❌ Không kiểm soát |
| Anti-Captcha | 0,3-0,5 | 0,1-0,7 | Hạn chế |
Phân phối điểm trên 1.000 lần giải
CaptchaAI score distribution (1000 solves):
0.1-0.2 |
0.3-0.4 | ██
0.5-0.6 | ████████
0.7-0.8 | ████████████████████████████████████
0.9-1.0 | ██████████████████████████████
2Captcha score distribution (1000 solves):
0.1-0.2 | ████████████████████████████████████
0.3-0.4 | ████████████████████████
0.5-0.6 | ████████
0.7-0.8 | ██
0.9-1.0 |
Chi phí thực sự khi điểm số thấp
Scenario: 10,000 pages, site threshold 0.5
CaptchaAI (97% pass rate):
Tokens needed: 10,000 / 0.97 = 10,310
Cost at $0.003/token: $30.93
Wasted tokens: 310
2Captcha (20% pass rate):
Tokens needed: 10,000 / 0.20 = 50,000
Cost at $0.003/token: $150.00
Wasted tokens: 40,000
CaptchaAI saves ~$120 per 10,000 pages by delivering usable scores.
Một đội QA outsourcing cho khách hàng nước ngoài — mô hình phổ biến ở các công ty phần mềm tại TP.HCM và Hà Nội — thường chạy hàng chục nghìn lượt kiểm thử đăng ký trên staging mỗi tháng. Chênh lệch điểm số ở đây không chỉ là tiền token, mà còn là số vòng CI/CD bị timeout.
Kiểm soát điểm số qua API CaptchaAI
import requests
import time
API_KEY = "YOUR_API_KEY"
def solve_v3(sitekey, pageurl, action="verify"):
"""Solve reCAPTCHA v3 with score control."""
resp = requests.post("https://ocr.captchaai.com/in.php", data={
"key": API_KEY,
"method": "userrecaptcha",
"version": "v3",
"googlekey": sitekey,
"pageurl": pageurl,
"action": action,
"json": 1,
})
result = resp.json()
task_id = result["request"]
for _ in range(40):
time.sleep(5)
poll = requests.get("https://ocr.captchaai.com/res.php", params={
"key": API_KEY,
"action": "get",
"id": task_id,
"json": 1,
})
data = poll.json()
if data["request"] != "CAPCHA_NOT_READY":
return data["request"]
raise TimeoutError("v3 solve timeout")
# Request a high score
token = solve_v3(
sitekey="SITE_KEY",
pageurl="https://staging.example.com/qa-login",
action="login",
)
print(f"Token: {token[:50]}...")
Tham số action ảnh hưởng thế nào đến điểm
Sai action là nguyên nhân phổ biến khiến token bị từ chối dù điểm không thấp — giá trị này phải khớp với những gì trang web mong đợi.
| Loại trang | Action thường gặp | Ngưỡng điển hình |
|---|---|---|
| Đăng nhập | login |
0,5 |
| Đăng ký | register, signup |
0,5-0,7 |
| Biểu mẫu liên hệ | submit, contact |
0,5 |
| Thanh toán | checkout, purchase |
0,3-0,5 |
| Tìm kiếm | search |
0,3 |
| Trang chủ | homepage |
0,3 |
Vì sao solver dùng người thật luôn cho điểm thấp ở v3
reCAPTCHA v3 vô hình — không có thử thách nào để "giải" theo nghĩa truyền thống. Điểm số được tính từ:
- Dấu vân tay trình duyệt (browser fingerprint)
- Mẫu hành vi di chuột, bàn phím
- Lịch sử duyệt web gắn với tài khoản Google
- Trạng thái cookie
- Uy tín địa chỉ IP
Người giải captcha thủ công theo hàng đợi không tạo ra các tín hiệu này, cũng không có lịch sử duyệt hay cookie mà người dùng thật tích lũy — đó là lý do solver dựa trên AI như CaptchaAI luôn cho điểm cao hơn hẳn.
Cách xác minh điểm số token thực nhận
def verify_v3_score(token, secret_key, expected_action=None):
"""Check the actual score of a v3 token (server-side)."""
resp = requests.post(
"https://www.google.com/recaptcha/api/siteverify",
data={
"secret": secret_key,
"response": token,
},
)
result = resp.json()
score = result.get("score", 0)
action = result.get("action", "")
success = result.get("success", False)
print(f"Score: {score}")
print(f"Action: {action}")
print(f"Success: {success}")
if expected_action and action != expected_action:
print(f"WARNING: Action mismatch. Expected '{expected_action}', got '{action}'")
return result
Lưu ý: việc xác minh này cần secret key của trang web (phía server). Chỉ dùng cho trang bạn sở hữu hoặc trong môi trường phát triển/staging.
Khắc phục nhanh các lỗi điểm số thấp
- Điểm dưới 0,3: thường do đang dùng solver dựa trên người thật — chuyển sang CaptchaAI.
- Token bị từ chối dù điểm tốt: kiểm tra lại tham số
action— nó phải khớp với giá trị trang web mong đợi. - Điểm không ổn định giữa các lần: dấu hiệu solver dùng phương pháp không nhất quán — dùng CaptchaAI để có điểm dựa trên AI ổn định.
- Điểm luôn ở mức 0,1: solver không hỗ trợ v3 đúng cách — xác minh solver có hỗ trợ v3 kèm khả năng kiểm soát điểm.
Câu hỏi thường gặp
Giải 10.000 request reCAPTCHA v3 mỗi ngày tốn bao nhiêu?
Phụ thuộc vào tỷ lệ token vượt ngưỡng, không chỉ giá niêm yết mỗi token. Ở ngưỡng 0,5, solver đạt 97% chỉ cần khoảng 10.310 token cho 10.000 trang; solver đạt 20% cần tới 50.000 token — gấp gần 5 lần. Tính theo chi phí mỗi trang vượt ngưỡng thành công, không phải giá mỗi token.
CaptchaAI có đảm bảo một điểm số cụ thể không?
Không solver nào đảm bảo được điểm chính xác — Google là bên duy nhất quyết định điểm. API của CaptchaAI không có tham số score-target cho cả v3 lẫn v3 Enterprise.
Để tăng điểm trả về, đính kèm cookies (phiên đã "làm nóng"), userAgent khớp traffic thật của trang, và proxy trong request.
Vì sao nên chọn CaptchaAI thay vì 2Captcha hoặc CapSolver cho v3?
Khác biệt nằm ở tỷ lệ token thực sự hữu ích, không phải giá niêm yết. Ở ngưỡng 0,5:
- CaptchaAI: khoảng 97% token vượt ngưỡng.
- 2Captcha: khoảng 20% — phần lớn token bị trang đích từ chối ngay từ đầu, dù bạn vẫn phải trả tiền cho chúng.
Tham số action có ảnh hưởng đến điểm số không?
Có. Action không khớp với những gì trang web mong đợi có thể làm giảm điểm hoặc khiến token bị từ chối dù điểm không thấp. Luôn kiểm tra implementation v3 thực tế của trang để lấy đúng chuỗi action.
Điểm số thấp có làm tăng chi phí gói CaptchaAI không?
Không trực tiếp — CaptchaAI tính phí theo thread, không theo từng token, nên giá gói không đổi theo điểm Google trả về.
Nhưng điểm thấp buộc bạn gửi lại nhiều request hơn để đạt đủ token vượt ngưỡng, làm giảm hiệu quả sử dụng thread bạn đang trả tiền.
Hướng dẫn liên quan
Cải thiện điểm reCAPTCHA v3 ngay — dùng thử CaptchaAI và đính kèm cookies, userAgent, proxy vào request để nâng điểm trả về.