Kedua versi berjalan tanpa terlihat dan mengembalikan skor risiko antara 0,0 (bot) dan 1,0 (manusia). Enterprise menambahkan kode alasan, manajemen berbasis proyek, ambang batas adaptif, dan pembela akun. Untuk pengguna CaptchaAI, perbedaan solvenya adalah satu parameter: enterprise=1.
Panduan ini berfokus pada hal-hal yang penting untuk otomatisasi: apa yang ditambahkan oleh Enterprise, cara mendeteksinya, dan bagaimana perbedaan penilaian memengaruhi integrasi Anda.
Perbandingan fitur
| Fitur | Standar v3 | Enterprise v3 |
|---|---|---|
| Operasi invisible | Ya | Ya |
| Skor (0,0–1,0) | Ya | Ya |
| Parameter tindakan | Diperlukan | Diperlukan |
| Kode alasan | Tidak | Ya |
| Ambang batas khusus per tindakan | Tidak | Ya (melalui Cloud Console) |
| Deteksi kebocoran kata sandi | Tidak | Ya |
| Pembela akun | Tidak | Ya |
| Label pencegahan penipuan | Tidak | Ya |
| Integrasi otentikasi multi-faktor | Tidak | Ya |
| Titik akhir verifikasi | siteverify (gratis) |
recaptchaenterprise.googleapis.com |
| Kuota bulanan | 1 juta penilaian gratis | Bayar per penilaian |
| berkas JS | api.js?render=KEY |
enterprise.js?render=KEY |
| Parameter CaptchaAI | version=v3 |
version=v3 + enterprise=1 |
Kode alasan enterprise dijelaskan
Respons enterprise mencakup kode alasan yang menjelaskan mengapa skor diberikan. Kode-kode ini membantu pemilik situs menyempurnakan keamanan mereka — dan memahaminya membantu Anda membangun otomatisasi yang lebih baik.
| Kode | Artinya | Dampak pada otomatisasi |
|---|---|---|
AUTOMATION |
Perilaku otomatis terdeteksi | Gunakan sinyal browser browser yang realistis |
UNEXPECTED_ENVIRONMENT |
Lingkungan browser yang tidak biasa | Periksa deteksi browser headless |
TOO_MUCH_TRAFFIC |
Volume permintaan tinggi dari sumber | Menerapkan pembatasan laju dan rotasi proxy |
UNEXPECTED_USAGE_PATTERNS |
Pola interaksi yang tidak normal | Tambahkan penundaan yang realistis di antara tindakan |
LOW_CONFIDENCE_SCORE |
Data tidak cukup untuk penilaian percaya diri | Kirimkan lebih banyak sinyal perilaku |
SUSPECTED_CARDING |
Pola penipuan kartu kredit | Tidak relevan untuk sebagian besar otomatisasi |
SUSPECTED_CHARGEBACK |
Pola penipuan tagihan balik | Tidak relevan untuk sebagian besar otomatisasi |
Catatan: Anda tidak melihat kode ini saat menyelesaikan melalui CaptchaAI. Mereka dikembalikan ke backend situs web selama verifikasi token. Memahaminya membantu Anda mendiagnosis mengapa token mungkin ditolak.
Perbedaan penilaian enterprise
Standar v3 menggunakan model penilaian global tunggal. Enterprise v3 menambahkan lapisan:
| Aspek penilaian | Standar | Enterprise |
|---|---|---|
| Model skor dasar | Model global Google | Model global + sinyal khusus Google |
| Ambang batas per tindakan | Satu ambang batas untuk semua tindakan | Ambang batas berbeda per tindakan (login=0,7, checkout=0,9) |
| Pembelajaran adaptif | Dasar | Belajar dari pola lalu lintas spesifik situs |
| Perincian skor | 0,0-1,0 (dua desimal) | Rentang yang sama, sinyal yang lebih bernuansa |
| Penanganan positif palsu | Penyetelan ambang batas manual | Otomatis dengan analisis kode alasan |
Artinya bagi pengguna CaptchaAI: Situs enterprise mungkin memiliki ambang batas per tindakan yang lebih ketat atau lebih beragam. Mengirimkan parameter action yang benar bahkan lebih penting lagi dengan Enterprise karena setiap tindakan mungkin memiliki ambang batasnya sendiri.
Deteksi dan solve
Mendeteksi versi yang mana
import requests
import re
def detect_v3_version(url):
html = requests.get(url).text
if "enterprise.js" in html:
version = "enterprise"
elif "recaptcha/api.js" in html and "render=" in html:
version = "standard"
else:
return None
# Extract sitekey
key_match = re.search(r'render[=:]\s*["\']?([A-Za-z0-9_-]{40})', html)
sitekey = key_match.group(1) if key_match else None
# Extract action
action_match = re.search(r'action["\']?\s*[:=]\s*["\'](\w+)', html)
action = action_match.group(1) if action_match else None
return {"version": version, "sitekey": sitekey, "action": action}
const axios = require("axios");
async function detectV3Version(url) {
const { data: html } = await axios.get(url);
const version = html.includes("enterprise.js")
? "enterprise"
: html.includes("recaptcha/api.js") && html.includes("render=")
? "standard"
: null;
const keyMatch = html.match(/render[=:]\s*['"]?([A-Za-z0-9_-]{40})/);
const actionMatch = html.match(/action['"]?\s*[:=]\s*['"](\w+)/);
return {
version,
sitekey: keyMatch?.[1],
action: actionMatch?.[1],
};
}
Memecahkan Standar v3
import requests
import time
resp = requests.get("https://ocr.captchaai.com/in.php", params={
"key": "YOUR_API_KEY",
"method": "userrecaptcha",
"version": "v3",
"googlekey": sitekey,
"action": "login",
"pageurl": page_url
})
task_id = resp.text.split("|")[1]
for _ in range(60):
time.sleep(5)
result = requests.get("https://ocr.captchaai.com/res.php", params={
"key": "YOUR_API_KEY", "action": "get", "id": task_id
})
if result.text.startswith("OK|"):
token = result.text.split("|")[1]
break
Memecahkan Enterprise v3
import requests
import time
# Only difference: enterprise=1
resp = requests.get("https://ocr.captchaai.com/in.php", params={
"key": "YOUR_API_KEY",
"method": "userrecaptcha",
"version": "v3",
"enterprise": 1,
"googlekey": sitekey,
"action": "login",
"pageurl": page_url
})
task_id = resp.text.split("|")[1]
for _ in range(60):
time.sleep(5)
result = requests.get("https://ocr.captchaai.com/res.php", params={
"key": "YOUR_API_KEY", "action": "get", "id": task_id
})
if result.text.startswith("OK|"):
token = result.text.split("|")[1]
break
Pemecah deteksi otomatis
class V3AutoSolver:
def __init__(self, api_key):
self.api_key = api_key
def solve(self, page_url, action=None):
import re
html = requests.get(page_url).text
is_enterprise = "enterprise.js" in html
key_match = re.search(r'render[=:]\s*["\']?([A-Za-z0-9_-]{40})', html)
if not key_match:
raise Exception("No v3 sitekey found")
if not action:
act_match = re.search(r'action["\']?\s*[:=]\s*["\'](\w+)', html)
action = act_match.group(1) if act_match else "verify"
params = {
"key": self.api_key,
"method": "userrecaptcha",
"version": "v3",
"googlekey": key_match.group(1),
"action": action,
"pageurl": page_url
}
if is_enterprise:
params["enterprise"] = 1
resp = requests.get("https://ocr.captchaai.com/in.php", params=params)
if not resp.text.startswith("OK|"):
raise Exception(f"Submit failed: {resp.text}")
task_id = resp.text.split("|")[1]
for _ in range(60):
time.sleep(5)
result = requests.get("https://ocr.captchaai.com/res.php", params={
"key": self.api_key, "action": "get", "id": task_id
})
if result.text.startswith("OK|"):
return result.text.split("|")[1]
if result.text != "CAPCHA_NOT_READY":
raise Exception(f"Solve error: {result.text}")
raise Exception("Timed out")
Pemecahan Masalah
| Masalah | Kemungkinan penyebabnya | Perbaiki |
|---|---|---|
| Token ditolak di situs Enterprise | enterprise=1 tidak ada |
Periksa enterprise.js dan tambahkan benderanya |
| Skor rendah di Enterprise | Parameter action salah |
Ekstrak tindakan yang tepat dari panggilan grecaptcha.enterprise.execute() |
| Token berfungsi dalam pengujian, gagal dalam produksi | Pembelajaran adaptif enterprise menandai pola Anda | Putar IP, tambahkan penundaan, variasikan pola permintaan |
ERROR_WRONG_GOOGLEKEY |
v3 sitekey berasal dari param render, bukan data-sitekey | Cari render=KEY di URL skrip |
Pertanyaan Umum
Apakah Enterprise v3 memberikan skor yang berbeda dari standar?
Model penilaian dasar serupa, namun Enterprise dapat menggunakan sinyal tambahan dan ambang batas per tindakan khusus. Standar 0,7 mungkin lolos, sementara Enterprise mungkin memerlukan 0,9 untuk tindakan yang sama. CaptchaAI menangani keduanya secara identik — kualitas token yang dikembalikan sama.
Bagaimana cara mendeteksi Enterprise v3 di halaman?
Cari enterprise.js, bukan api.js di tag skrip, dan grecaptcha.enterprise.execute() di JavaScript. Kedua versi tersebut invisible — tidak ada perbedaan visual.
Apakah Enterprise v3 lebih mahal untuk dipecahkan?
Periksa harga CaptchaAI saat ini. Solve enterprise mungkin diberi harga berbeda, tetapi kode integrasi API sama kecuali untuk satu parameter.
Bisakah situs beralih dari standar ke enterprise?
Ya, dan mereka sering melakukannya. Google mendorong migrasi ke Enterprise untuk analisis yang lebih baik. Bangun deteksi Anda untuk memeriksa setiap permintaan, bukan melakukan hardcoding pada versinya.
Mengapa skor saya turun setelah situs bermigrasi ke Enterprise?
Enterprise menggunakan pembelajaran adaptif yang membangun model dari lalu lintas spesifik situs. Jika pola otomatisasi Anda menonjol sebelumnya, Enterprise mungkin dapat menangkapnya lebih cepat. Tingkatkan sinyal browser lebih dari sekadar CaptchaAI — tambahkan perilaku browser yang realistis.
Panduan terkait
- Standar vs Enterprise reCAPTCHA v3 — Panduan Solve— perbandingan praktis alternatif
- reCAPTCHA Enterprise vs Standar — Panduan Lengkap— mencakup v2 dan v3
- Cara Mengatasi reCAPTCHA v3 Menggunakan API— tutorial v3 standar
- Cara Mengatasi reCAPTCHA v3 Enterprise Menggunakan API— tutorial v3 enterprise
-
Cara Kerja Penilaian Risiko reCAPTCHA v3 Enterprise— mencetak gol menyelam dalam
-
reCAPTCHA Enterprise vs Standar — Panduan Lengkap
- Cara Kerja Penilaian Risiko reCAPTCHA v3 Enterprise
- Cara Mengatasi reCAPTCHA v3 Enterprise Menggunakan API
- Standar vs Enterprise reCAPTCHA v3