İçeriğe geç
DurumPanel

Kılavuzlar

CAPTCHA türünü belirleme

Bu sayfa Çince sürümden makine çevirisiyle hazırlanmıştır ve hatalar içerebilir. Geçerli olan Çince sürüm sürümüdür.

Doğru görev türünü seçmenin ilk adımı CAPTCHA’yı tanımaktır. En güvenilir yol, tarayıcının geliştirici araçlarını (F12) açıp Network (Ağ) panelinde sayfanın hangi CAPTCHA betiğini yüklediğine bakmaktır; görünüşe bakarak da ayırt edebilirsiniz.

Her captcha’nın web sayfasında nasıl göründüğü (animasyonlu çizimler, ekran görüntüsü değil); ilgili görev türü sayfasını açmak için bir karta tıklayın. Görünüm yeterli değilse aşağıdaki hızlı başvuru tablosu ve Network paneliyle doğrulayın.

Gördüğünüz Ne olduğu Kullanılacak görev türü
“Ben robot değilim” onay kutusu reCAPTCHA v2 reCAPTCHA v2
Onay kutusu yok; gönder düğmesine tıklayınca görsel soru açılır; köşede küçük bir reCAPTCHA rozeti var Görünmez reCAPTCHA v2 (veya v3) Aşağıdaki “reCAPTCHA sürümleri” bölümüne bakın
Hiçbir etkileşim yok; yalnızca sağ altta reCAPTCHA rozeti var reCAPTCHA v3 reCAPTCHA v3
“Ben insanım” onay kutusu; görsel sorularda hCaptcha yazar hCaptcha hCaptcha
Formun içine gömülü bir Cloudflare doğrulama kutusu; işaretlendikten sonra sayfa yönlenmez Cloudflare Turnstile Turnstile
Sayfanın tamamında “Just a moment…” / “Bağlantınız kontrol ediliyor” yazar ve otomatik yönlendirilir Cloudflare doğrulama sayfası Cloudflare doğrulama sayfası
Arkose Labs’in bulmaca ve görsel seçme soruları (ör. “Doğru yöne bakan görseli seçin”) FunCaptcha FunCaptcha görsel tanıma
Bozuk harf ve rakamlardan oluşan bir görsel Karakter CAPTCHA’sı Görselden metin tanıma

Network panelinde api.js veya enterprise.js araması yapın:

Yüklenen betik Sürüm
recaptcha/api.js, render parametresi yok veya render=explicit v2 standart
Yukarıdaki gibi ve anchor isteğinin adresinde size=invisible var Görünmez v2; göreve "isInvisible": true ekleyin
recaptcha/api.js?render=SITE_KEY (render değeri explicit değil) v3 standart
recaptcha/enterprise.js, render parametresi yok veya render=explicit v2 Enterprise
recaptcha/enterprise.js?render=SITE_KEY v3 Enterprise

Örnekler:

https://www.google.com/recaptcha/api.js?onload=onloadcallback&render=explicit → v2
https://www.google.com/recaptcha/api.js?render=6LdyC2cUAAAAACGuDKpXeDorzUDWXmdqeg-xy696 → v3
https://www.google.com/recaptcha/enterprise.js?render=explicit → v2 Enterprise

Görünmez v2 bazen yalnızca v3 türüyle geçilir; ikisini de deneyin.

Aşağıdaki kodu tarayıcı konsolunda (Console) çalıştırarak da sayfadaki tüm reCAPTCHA’ların sürümünü, site anahtarını, sayfa adresini ve geri çağırma (callback) fonksiyonunu listeleyebilirsiniz:

find-recaptcha-clients.js
// Paste into the browser DevTools console on a page with reCAPTCHA, then run findRecaptchaClients().
// Lists every reCAPTCHA on the page: version (V2/V3), sitekey, page URL and the callback function.
function findRecaptchaClients() {
if (typeof ___grecaptcha_cfg === 'undefined') return [];
return Object.entries(___grecaptcha_cfg.clients).map(([cid, client]) => {
const data = { id: cid, version: cid >= 10000 ? 'V3' : 'V2' };
const objects = Object.entries(client).filter(([, value]) => value && typeof value === 'object');
objects.forEach(([toplevelKey, toplevel]) => {
const found = Object.entries(toplevel).find(
([, value]) => value && typeof value === 'object' && 'sitekey' in value && 'size' in value,
);
if (toplevel instanceof HTMLElement && toplevel.tagName === 'DIV') data.pageurl = toplevel.baseURI;
if (found) {
const [sublevelKey, sublevel] = found;
data.sitekey = sublevel.sitekey;
const callbackKey = data.version === 'V2' ? 'callback' : 'promise-callback';
const callback = sublevel[callbackKey];
if (!callback) {
data.callback = null;
data.function = null;
} else {
data.function = callback;
const keys = [cid, toplevelKey, sublevelKey, callbackKey].map((key) => `['${key}']`).join('');
data.callback = `___grecaptcha_cfg.clients${keys}`;
}
}
});
return data;
});
}
findRecaptchaClients();

Örnek çıktı:

[
{
"id": "0",
"version": "V2",
"sitekey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
"function": "onSuccess",
"callback": "___grecaptcha_cfg.clients['0']['l']['l']['callback']",
"pageurl": "https://www.google.com/recaptcha/api2/demo"
}
]

Karşılaştırma için Google’ın resmi demo sayfalarını kullanabilirsiniz: v2 standart için https://www.google.com/recaptcha/api2/demo, görünmez v2 için https://www.google.com/recaptcha/api2/demo?invisible=true.

İkisi de Cloudflare’e aittir ama aynı şey değildir:

  • Turnstile, sayfadaki bir formun içine gömülü doğrulama kutusudur. Doğrulama tamamlanınca kutu işaretlenir, sayfanın kendisi yönlenmez. Sayfa challenges.cloudflare.com/turnstile/v0/api.js dosyasını yükler. Turnstile görev türünü kullanın.
  • Cloudflare doğrulama sayfası, sayfanın tamamını Cloudflare’in kontrol ekranıyla değiştirir; “Just a moment…” ve “xx.com bağlantınızın güvenliğini kontrol etmeli” gibi metinler görünür, içinde bir doğrulama kutusu da bulunabilir. Geçildikten sonra gerçek sayfaya otomatik yönlendirilir. Kaynak kodunda __cf_chl_rt_tk veya cdn-cgi/challenge-platform bulunur. Cloudflare doğrulama sayfası görev türünü kullanın.

Programla istek attığınızda 403 ve “Just a moment…” dönüyor ama tarayıcıyla sayfa doğrudan açılıyorsa, büyük olasılıkla yalnızca TLS parmak izi nedeniyle engelleniyorsunuz. Tarayıcının TLS parmak izini taklit eden bir kütüphane (ör. curl_cffi) kullanırsanız istek geçer; doğrulamayı çözmeniz gerekmez.