reCAPTCHA v3 ấn định điểm từ 0,0 (bot) đến 1,0 (con người) dựa trên tín hiệu hành vi. Khi quá trình tự động hóa của bạn liên tục đạt điểm dưới ngưỡng của trang web, mọi yêu cầu đều âm thầm thất bại — không có cửa sổ bật lên thách thức, chỉ là bị từ chối.
Hướng dẫn này bao gồm các nguyên nhân phổ biến nhất dẫn đến điểm thấp và cách khắc phục từng nguyên nhân.
Cách tính điểm hoạt động
reCAPTCHA v3 thu thập các tín hiệu này trước khi ấn định điểm:
| Loại tín hiệu | Nó kiểm tra những gì |
|---|---|
| Di chuyển chuột | Đường dẫn con trỏ tự nhiên, tốc độ, tạm dừng |
| Hành vi cuộn | Các kiểu cuộn trang |
| Nhịp độ gõ phím | Thời gian và nhịp gõ phím |
| Dấu vân tay trình duyệt | Canvas, WebGL, phông chữ, plugin |
| Cookie & phiên | Cookie của Google, lịch sử duyệt web |
| Danh tiếng IP | Trung tâm dữ liệu và khu dân cư, lịch sử lạm dụng |
| Thời gian tương tác trang | Thời gian dành cho trang trước khi kích hoạt hành động |
Nguyên nhân phổ biến dẫn đến điểm thấp
1. Tham số hành động bị thiếu hoặc sai
Mỗi lệnh gọi grecaptcha.execute() đều bao gồm một chuỗi hành động. Nếu bạn chuyển sai hành động cho CaptchaAI, hành động được nhúng của mã thông báo sẽ không khớp với những gì trang web mong đợi.
Khắc phục: Kiểm tra nguồn trang hoặc DevTools để tìm giá trị hành động chính xác và chuyển giá trị đó vào yêu cầu API của bạn.
2. IP trung tâm dữ liệu hoặc proxy được gắn cờ
Google theo dõi danh tiếng IP. IP trung tâm dữ liệu và proxy được sử dụng quá mức luôn nhận được điểm thấp hơn.
Sửa chữa:
- Sử dụng đa dạng nguồn yêu cầu hoặc ISP
- Xoay IP giữa các yêu cầu
- Tránh danh sách proxy miễn phí
3. Không có tín hiệu trình duyệt
Các trình duyệt không có giao diện người dùng có cấu hình mặc định gửi tín hiệu không đầy đủ hoặc đáng ngờ. Thiếu chuyển động của chuột, không có lịch sử cuộn và không có cookie đều là cờ đỏ.
Sửa chữa:
- Sử dụng
puppeteer (cấu hình QA)hoặc tương đương - Đưa các chuyển động và cuộn chuột thực tế vào
- Đặt kích thước khung nhìn thực tế và tác nhân người dùng
4. Thiếu cookie của Google
Người dùng có cookie tài khoản Google (NID, SID, HSID) có xu hướng đạt điểm cao hơn. Tự động hóa với cấu hình trình duyệt sạch sẽ thiếu lịch sử này.
Sửa chữa:
- Tải hồ sơ trình duyệt với các cookie hiện có của Google
- Truy cập các dịch vụ của Google trước khi truy cập trang mục tiêu
5. Token được sử dụng quá muộn
Mã thông báo reCAPTCHA v3 hết hạn sau 2 phút. Nếu quá trình tự động hóa của bạn mất quá nhiều thời gian từ lúc nhận đến khi gửi mã thông báo thì nó sẽ bị từ chối.
Khắc phục: Yêu cầu mã thông báo ngay trước khi gửi biểu mẫu, không phải trong khi tải trang.
6. Quá nhiều yêu cầu từ cùng một phiên
Các cuộc gọi grecaptcha.execute() lặp lại nhanh chóng từ cùng một trang hoặc phiên sẽ làm giảm điểm ở mỗi cuộc gọi tiếp theo.
Sửa chữa:
- Thêm độ trễ giữa các yêu cầu (ít nhất 15–30 giây)
- Xoay phiên và hồ sơ trình duyệt
7. Phát hiện trình duyệt headless
Các trang web có thể phát hiện Chrome không có giao diện người dùng thông qua thuộc tính WebDriver chuẩn, plugin bị thiếu hoặc thuộc tính chrome.runtime không nhất quán.
Sửa chữa:
- Đặt `
- Sử dụng các plugin ẩn để vá tất cả các vectơ phát hiện
- Sử dụng phiên bản trình duyệt thực thông qua tự động hóa trình duyệt
Giải bằng CaptchaAI để xử lý tính điểm
CaptchaAI giải reCAPTCHA v3 bằng cách sử dụng môi trường trình duyệt thực, tạo ra các mã thông báo thường đạt điểm 0,3. Điều này vượt qua hầu hết các trang web nhưng không vượt qua được những trang có ngưỡng trên 0,3.
import requests
import time
response = requests.get("https://ocr.captchaai.com/in.php", params={
"key": "YOUR_API_KEY",
"method": "userrecaptcha",
"version": "v3",
"googlekey": "SITE_KEY",
"action": "login",
"pageurl": "https://staging.example.com/qa-login",
"json": 1
})
task_id = response.json()["request"]
for _ in range(30):
time.sleep(5)
result = requests.get("https://ocr.captchaai.com/res.php", params={
"key": "YOUR_API_KEY", "action": "get", "id": task_id, "json": 1
}).json()
if result.get("status") == 1:
token = result["request"]
print(f"Token received: {token[:50]}...")
break
const axios = require('axios');
async function solveV3(sitekey, pageurl, action) {
const { data } = await axios.get('https://ocr.captchaai.com/in.php', {
params: {
key: 'YOUR_API_KEY', method: 'userrecaptcha', version: 'v3',
googlekey: sitekey, action, pageurl, json: 1
}
});
const taskId = data.request;
for (let i = 0; i < 30; i++) {
await new Promise(r => setTimeout(r, 5000));
const res = await axios.get('https://ocr.captchaai.com/res.php', {
params: { key: 'YOUR_API_KEY', action: 'get', id: taskId, json: 1 }
});
if (res.data.status === 1) return res.data.request;
}
throw new Error('Timeout');
}
Danh sách kiểm tra khắc phục sự cố về điểm số
| Kiểm tra | hành động |
|---|---|
| Tham số hành động có đúng không? | So sánh với lệnh gọi grecaptcha.execute() nguồn trang |
| Mã thông báo mới? | Sử dụng trong vòng 2 phút kể từ khi tạo |
| Loại IP? | Chuyển sang đa dạng nguồn yêu cầu |
| trình duyệt kiểm thử? | Kích hoạt plugin ẩn, vá cờ webdriver |
| Tỷ lệ yêu cầu? | Thêm độ trễ 15-30 giây giữa các lần giải |
| Cookie của Google? | Tải hồ sơ bằng cookie phiên Google |
| Mã trang web chính xác? | Xác minh rằng bạn đã trích xuất khóa trang web v3 chứ không phải khóa v2 |
Câu hỏi thường gặp
Tôi cần bao nhiêu điểm để vượt qua reCAPTCHA v3?
Nó phụ thuộc vào trang web. Ngưỡng phổ biến là 0,3 đối với các trang có mức độ bảo mật thấp và 0,7 đối với các hành động quan trọng như thanh toán. Hầu hết các trang web sử dụng 0,5 làm mặc định.
CaptchaAI có thể đảm bảo điểm cao không?
Không. CaptchaAI trả về điểm do Google chỉ định, thường là khoảng 0,3. Điểm số được xác định bởi mô hình rủi ro của Google chứ không phải bởi CaptchaAI.
Việc sử dụng VPN có làm giảm điểm của tôi không?
IP VPN thường được gắn cờ là trung tâm dữ liệu hoặc có mức độ rủi ro cao, điều này có thể làm giảm điểm số. đa dạng nguồn yêu cầu hoạt động tốt hơn.
Tại sao điểm của tôi giảm theo thời gian?
Google học hỏi từ các mẫu lặp đi lặp lại. Nếu cùng một IP, dấu vân tay và hành vi lặp lại mà không có sự thay đổi thì điểm số sẽ giảm dần.
Tôi có nên giải quyết v3 hay cứ để nó thất bại và giải quyết dự phòng v2?
Nhiều trang web hiển thị thách thức v2 khi điểm v3 thấp. Nếu bạn liên tục thất bại ở v3, hãy xác định dự phòng v2 và giải quyết vấn đề đó — thay vào đó, nó có kết quả pass/fail nhị phân thay vì điểm số.