reCAPTCHA v3 memberikan skor antara 0,0 (bot) dan 1,0 (manusia) berdasarkan sinyal perilaku. Ketika otomatisasi Anda secara konsisten mendapatkan skor di bawah ambang batas situs, setiap permintaan akan gagal secara diam-diam — tidak ada popup tantangan, hanya penolakan.
Panduan ini membahas penyebab paling umum dari skor rendah dan cara memperbaikinya.
Cara kerja penilaian
reCAPTCHA v3 mengumpulkan sinyal berikut sebelum memberikan skor:
| Kategori sinyal | Apa yang diperiksanya |
|---|---|
| Gerakan tikus | Jalur kursor alami, kecepatan, jeda |
| Perilaku gulir | Pola pengguliran halaman |
| Mengetik irama | Waktu dan ritme penekanan tombol |
| sinyal browser peramban | Kanvas, WebGL, font, plugin |
| cookie & sesi | Cookie Google, riwayat penelusuran |
| reputasi kekayaan intelektual | Pusat data vs perumahan, riwayat penyalahgunaan |
| Waktu interaksi halaman | Waktu yang dihabiskan di halaman sebelum memicu tindakan |
Penyebab umum skor rendah
1. Parameter tindakan tidak ada atau salah
Setiap panggilan grecaptcha.execute() menyertakan string tindakan. Jika Anda meneruskan tindakan yang salah ke CaptchaAI, tindakan token yang disematkan tidak akan sesuai dengan yang diharapkan situs.
Perbaikan: Periksa sumber halaman atau DevTools untuk menemukan nilai tindakan yang tepat dan teruskan dalam permintaan API Anda.
2. IP pusat data atau proksi yang ditandai
Google melacak reputasi IP. IP pusat data dan proxy yang terlalu sering digunakan secara konsisten menerima skor lebih rendah.
Perbaikan:
- Gunakan proxy perumahan atau ISP
- Putar IP antar permintaan
- Hindari daftar proxy gratis
3. Tidak ada sinyal browser
Browser headless dengan konfigurasi default mengirimkan sinyal yang tidak lengkap atau mencurigakan. Pergerakan mouse yang hilang, tidak ada riwayat gulir, dan tidak ada cookie merupakan tanda bahaya.
Perbaikan:
- Gunakan
puppeteer-extra (mode standar)atau setara - Suntikkan gerakan dan pengguliran mouse yang realistis
- Tetapkan ukuran area pandang dan User-Agent yang realistis
4. Cookie Google tidak ada
Pengguna dengan cookie akun Google (NID, SID, HSID) cenderung mendapatkan skor lebih tinggi. Otomatisasi dengan profil browser yang bersih tidak memiliki riwayat ini.
Perbaikan:
- Muat profil browser dengan cookie Google yang ada
- Kunjungi layanan Google sebelum mencapai halaman target
5. Token terlambat digunakan
Token reCAPTCHA v3 expiry setelah 2 menit. Jika otomatisasi Anda memerlukan waktu terlalu lama antara memperoleh dan mengirimkan token, maka token tersebut akan ditolak.
Perbaikan: Minta token segera sebelum submit formulir, bukan saat page load.
6. Terlalu banyak permintaan dari sesi yang sama
Panggilan grecaptcha.execute() berulang yang cepat dari halaman atau sesi yang sama menurunkan skor pada setiap panggilan berikutnya.
Perbaikan:
- Tambahkan penundaan antar permintaan (setidaknya 15–30 detik)
- Putar sesi dan profil browser
7. Deteksi browser headless
Situs dapat mendeteksi Chrome headless melalui sinyal browser otomatis, plugin yang hilang, atau properti chrome.runtime yang tidak konsisten.
Perbaikan:
- Setel
sinyal browser otomatis = false - Gunakan konfigurasi standar yang menambal semua vektor deteksi
- Gunakan contoh browser nyata melalui otomatisasi browser
Memecahkan dengan CaptchaAI untuk menangani penilaian
CaptchaAI memecahkan reCAPTCHA v3 menggunakan lingkungan browser nyata, menghasilkan token yang biasanya mendapat skor 0,3. Ini melewati sebagian besar situs tetapi tidak untuk situs yang memiliki ambang batas di atas 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');
}
Skor daftar periksa pemecahan masalah
| Periksa | Tindakan |
|---|---|
| Parameter tindakan benar? | Bandingkan dengan sumber halaman panggilan grecaptcha.execute() |
| Token baru? | Gunakan dalam waktu 2 menit setelah pembuatan |
| Tipe IP? | Beralih ke proxy perumahan |
| Peramban tersembunyi? | Aktifkan konfigurasi standar, tambal bendera webdriver |
| Tingkat permintaan? | Tambahkan jeda 15-30 detik antar penyelesaian |
| cookie Google? | Muat profil dengan cookie sesi Google |
| sitekey yang benar? | Pastikan Anda mengekstrak sitekey v3, bukan kunci v2 |
Pertanyaan Umum
Berapa skor yang saya perlukan untuk lulus reCAPTCHA v3?
Itu tergantung pada situsnya. Ambang batas umum adalah 0,3 untuk halaman dengan keamanan rendah dan 0,7 untuk tindakan penting seperti pembayaran. Sebagian besar situs menggunakan 0,5 sebagai default.
Bisakah CaptchaAI menjamin skor tinggi?
Tidak. CaptchaAI mengembalikan skor yang diberikan oleh Google, biasanya sekitar 0,3. Skor ditentukan oleh model risiko Google, bukan oleh CaptchaAI.
Apakah penggunaan VPN menurunkan skor saya?
IP VPN sering kali ditandai sebagai pusat data atau berisiko tinggi, sehingga dapat menurunkan skor. Proksi perumahan berkinerja lebih baik.
Mengapa skor saya menurun seiring waktu?
Google belajar dari pola yang berulang. Jika IP, sinyal browser, dan perilaku yang sama berulang tanpa variasi, skornya akan menurun secara bertahap.
Haruskah saya menyelesaikan v3 atau membiarkannya gagal dan menyelesaikan fallback v2?
Banyak situs menampilkan tantangan v2 ketika skor v3 rendah. Jika Anda terus-menerus gagal dalam v3, identifikasi fallback v2 dan selesaikan — ini memiliki hasil biner pass/fail, bukan skor.