reCAPTCHA'nın Gelişmiş Risk Analizi (ARA) motoru, 0,0 (kesin bot) ile 1,0 (kesin insan) arasında bir puan üretmek için düzinelerce sinyali değerlendirir. Bu puan herhangi bir meydan okuma, bir onay kutusu, bir resim ızgarası veya sert bir blok görüp görmeyeceğinizi belirler. Google tam puanlama algoritmasını yayınlamıyor ancak kapsamlı testler ve tersine mühendislik temel faktörleri belirledi. Bu, skoru neyin hareket ettirdiğine dair kapsamlı bir teknik analizdir.
Puan faktörü kategorileri
reCAPTCHA, sinyalleri beş kategoride değerlendirir ve her biri nihai puana katkıda bulunur:
Final Score = f(Browser Signals, Behavioral Signals, Network Signals,
History Signals, Environmental Signals)
Kategori 1: Tarayıcı sinyalleri (ağırlık: yüksek)
Tarayıcı sinyalleri, istemcinin gerçek bir tarayıcı mı yoksa otomatik bir araç mı olduğunu belirler.
JavaScript API varlığı
reCAPTCHA, headless tarayıcıların eksik olduğu veya farklı şekilde uyguladığı API'leri araştırır:
| API kontrol edildi | Gerçek tarayıcıda bekleniyor | Headless gösterge |
|---|---|---|
navigator.userAgent |
undefined veya false |
true (Selenyum, Puppeteer) |
navigator.plugins |
1'den fazla öğe içeren PluginArray | Boş veya eksik |
navigator.languages |
Yerel ayar dizelerini içeren dizi | Boş dizi veya eksik |
navigator.hardwareConcurrency |
2-16 (CPU ile eşleşir) | Bazen 0 veya tanımsız |
navigator.deviceMemory |
2-16GB | Bazı headlesslarda eksik |
window.chrome |
Çalışma zamanı vb. içeren nesne. | Headless Chrome'da eksik |
Notification.permission |
"varsayılan", "kabul edildi" veya "reddedildi" | Atar veya eksik |
Puan üzerindeki etkisi: Bu API'lere ilişkin eksik veya yanlış değerler, puanı 0,3-0,5 puan düşürebilir.
Kanvas test profil yapılandırması
reCAPTCHA, gizli tuval öğelerini oluşturur ve piksel verilerini geri okur. Sonuç, tarayıcı/OS/GPU kombinasyonuna özgü bir parmak izidir.
// reCAPTCHA performs something similar to:
const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');
ctx.textBaseline = "top";
ctx.font = "14px 'Arial'";
ctx.fillText("Hello", 2, 2);
const test profil yapılandırması = canvas.toDataURL();
Puan etkisi:
- Tutarlı test profil yapılandırması eşleştirme tarayıcısı/OS bildirimi → Nötr
- test profil yapılandırması, bilinen headless model → -0,3 ila -0,5 ile eşleşiyor
- Tuval işlemleri engellendi veya tek tip verileri döndürdü → -0,4 ila -0,6
WebGL oluşturucu
WebGL oluşturucu dizesi GPU'yu ortaya koyuyor:
const gl = document.createElement('canvas').getContext('webgl');
const debugInfo = gl.getExtension('WEBGL_debug_renderer_info');
const renderer = gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL);
// Expected: "ANGLE (NVIDIA GeForce GTX 1060...)"
// Headless: "SwiftShader" or "Google SwiftShader"
Puan etkisi: SwiftShader (Google'ın headless Chrome'da kullanılan yazılım oluşturucusu), puanları 0,3-0,5 oranında düşüren güçlü bir bot göstergesidir.
Kategori 2: Davranışsal sinyaller (ağırlık: çok yüksek)
Davranışsal sinyaller puan hesaplamasında en yüksek ağırlığa sahiptir. Sayfa yüklendiği andan itibaren toplanırlar.
Fare hareketi
reCAPTCHA, sayfa ziyareti boyunca fare koordinatlarını ve zaman damgalarını izler:
| Sinyal | İnsan deseni | Bot modeli |
|---|---|---|
| Hareket sayısı | Sayfa ziyareti başına 50-500+ etkinlik | 0-5 etkinlik |
| Yörünge | Değişken hızlı kavisli yollar | Düz çizgiler, sabit hız |
| Hızlanma | Doğal kolaylık-in/ease-out | Anında başlangıç/stop |
| Mikro hareketler | Gezinirken küçük bir titreme | Eylemler arasında mükemmel bir hareketsizlik |
| Hedef aşımı | Düzeltme ile hafif aşma | Hassas hedefleme |
Skor etkisi: Hiçbir fare hareketi skoru 0,4-0,7 oranında düşürmez.
Klavye etkinliği
Inter-key timing:
Human: Variable (50-300ms between keys, varies by key pair)
Bot: Constant (all keys at same interval, or instant paste)
Key events:
Human: keydown → keypress → keyup for each character
Bot: May skip keypress, or fire all events simultaneously
Corrections:
Human: Occasional backspace, re-typing
Bot: Perfect input without corrections
Puan etkisi: Anında metin girişi (pano veya JavaScript value ataması yoluyla) 0,1-0,2 daha düşük puan alır.
Kaydırma davranışı
reCAPTCHA sayfadaki kaydırma olaylarını izler:
- İnsanlar: İvmeyle kademeli kaydırma, değişken hız, okumak için duraklamalar
- Botlar: Kaydırma yok veya form alanına anında geçiş yok
Puan etkisi: Form etkileşiminden önce kaydırma olayı yok → -0,2 ila -0,3.
Eleman etkileşim dizisi
reCAPTCHA, kullanıcının hangi öğelerle ve hangi sırayla etkileşimde bulunduğunu izler:
- İnsanlar: Formu doldurmadan önce sayfayı tıklayın, bağlantıların üzerine gelin, içeriği okuyun
- Botlar: Doğrudan form alanlarına gidin, sırayı doldurun, gönderin
Puan etkisi: Sayfa incelemesi olmadan doğrudan forma davranışı → -0,1 ila -0,3.
Kategori 3: Ağ sinyalleri (ağırlık: orta-yüksek)
IP itibarı
Google, aşağıdakileri temel alan bir IP itibar veritabanı tutar:
- Bu IP'den önceki reCAPTCHA sorgulama sonuçları
- Bilinen veri merkezi IP aralıkları (AWS, GCP, Azure, DigitalOcean vb.)
- Bilinen proxy/VPN sağlayıcı aralıkları
- Kötüye kullanım raporları ve spam veritabanları
- Arama ve reklam sahtekarlığı sinyalleri
| IP türü | Tipik puan etkisi |
|---|---|
| Konut, düşük istismar | +0,1'e nötr |
| Konut, bazı istismarlar | -0,1 ila -0,2 |
| Veri merkezi | -0,3 ila -0,5 |
| Bilinen proxy/VPN | -0,2 ila -0,4 |
| Tor çıkış düğümü | -0,4 ila -0,6 |
| Yakın zamanda kötüye kullanım nedeniyle işaretlendi | -0,3 ila -0,6 |
TLS test profil yapılandırması (JA3/JA4)
TLS anlaşması, istemcinin hangi şifre paketlerini ve uzantıları desteklediğini ortaya çıkarır. Her tarayıcının karakteristik bir test profil yapılandırması vardır:
- Chrome: Özel şifre sırası, TLS 1.3, GREASE uzantıları
- Python istekleri: Farklı şifre sırası, GREASE yok, daha basit uzantı listesi
- curl: Minimal uzantılar, OpenSSL'ye özgü modeller
Puan etkisi: Tarayıcı dışı TLS test profil yapılandırması → -0,2 ila -0,4.
HTTP başlıkları
reCAPTCHA'nın sunucusu, istekte bulunan istemcinin HTTP başlıklarını kontrol eder:
| Başlık | İnsan göstergesi | Bot göstergesi |
|---|---|---|
User-Agent |
Bilinen tarayıcı sürümüyle eşleşir | Eski sürüm, otomasyon aracı UA |
Accept-Language |
Yerel tercihlerle doldurulmuş | Eksik veya genel |
Accept-Encoding |
gzip, deflate, br |
Eksik veya olağandışı |
Sec-CH-UA |
İstemci tarayıcıyla eşleşen ipuçları | Eksik (2022 öncesi başlıklar) |
Kategori 4: Geçmiş sinyalleri (ağırlık: orta)
Google hesabı çerezleri
Tarama geçmişi puanı daha yüksek olan bir Google hesabına giriş yapan kullanıcılar:
SID,HSID,SSIDçerezler → Kullanıcının Google oturumu var- Google çerezi yok → Bilinmeyen kullanıcı, daha düşük başlangıç puanı
Puan etkisi: Aktif Google oturumu → +0,1 ila +0,3.
reCAPTCHA çerezleri
reCAPTCHA, mücadelenin başarılı bir şekilde tamamlanmasının ardından kendi çerezlerini ayarlar:
_GRECAPTCHAçerez → Önceki başarılı çözümrc::a,rc::b,rc::c→ Risk analizi veri çerezleri
Puan etkisi: reCAPTCHA çerezleri içermeyen yeni oturum → -0,1 ila -0,2.
Siteler arası itibar
Google, aynı tarayıcı profilini kullanarak tüm sitelerdeki reCAPTCHA davranışını izler. A sitesindeki iyi davranış, B sitesindeki puanları artırır.
Kategori 5: Çevresel sinyaller (ağırlık: düşük-orta)
Saat dilimi tutarlılığı
const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
// Should match IP geolocation
// "America/New_York" with a New York IP → consistent
// "America/New_York" with a Tokyo IP → suspicious
Ekran ve pencere boyutları
screen.width, screen.height // Physical screen
window.innerWidth, innerHeight // Browser window
window.outerWidth, outerHeight // Including browser chrome
Puan etkisi: Olağandışı boyutlar (0×0, son derece büyük veya tam olarak varsayılan) → -0,1 ila -0,2.
Pil durumu (varsa)
navigator.getBattery().then(battery => {
battery.level; // 0.0 to 1.0
battery.charging; // true/false
});
Battery API küçük bir sinyal sağlar; her zaman %100'de şarj etmek, masaüstü geliştirme ortamıyla tutarlıdır.
Puan optimizasyon stratejileri
Otomasyonda daha yüksek puanlar için
| Strateji | Beklenen etki | Zorluk |
|---|---|---|
| Gerçek Chrome kullanın (headless değil) | +0,3 ila +0,5 | Düşük |
navigator.userAgent bayrağını kaldır |
+0,2 ila +0,3 | Düşük |
| Fare hareketi simülasyonu ekle | +0,2 ila +0,4 | Orta |
| Kendi sunucu altyapınız IP'lerini kullanın | +0,2 ila +0,3 | Düşük (maliyet) |
| Oturumlar boyunca Google çerezlerini koruyun | +0,1 ila +0,2 | Orta |
| TLS parmak izini Chrome ile eşleştirin | +0,1 ila +0,3 | Yüksek |
| Formdan önce sayfa keşfini simüle edin | +0,1 ila +0,2 | Orta |
Veya: Bir API çözücü kullanın
Tüm bu sinyalleri optimize etmek yerine, puandan bağımsız olarak geçerli tokenlar oluşturmak için CaptchaAI'yi kullanın:
import requests
import time
API_KEY = "YOUR_API_KEY"
# Request a high-score token
submit = requests.post("https://ocr.captchaai.com/in.php", data={
"key": API_KEY,
"method": "userrecaptcha",
"googlekey": "6LcR_RsTAAAAAN_r0GEkGBfq3L7KmU5JbPHJtwNp",
"pageurl": "https://staging.example.com/qa-login",
"version": "v3",
"action": "login",
"json": 1,
})
task_id = submit.json()["request"]
for _ in range(60):
time.sleep(5)
result = requests.get("https://ocr.captchaai.com/res.php", params={
"key": API_KEY,
"action": "get",
"id": task_id,
"json": 1,
}).json()
if result.get("status") == 1:
token = result["request"]
print(f"High-score token received")
break
Çözücü ortamı maksimum puanlar için optimize edilmiştir; tüm tarayıcı, davranış ve ağ sinyallerini dahili olarak yönetir.
Sık sorulan sorular
"İyi" bir reCAPTCHA v3 puanı nedir?
0,7 veya daha yüksek bir puan genellikle insana benzer olarak kabul edilir. Çoğu web sitesi eşik değerini 0,5 ile 0,7 arasında ayarlar. 0,9'luk bir puan neredeyse tüm uygulamaları geçer. CaptchaAI'nin API'sinde score-target parametresi yoktur — puanı Google belirler. Dönen puanı artırmak için isteğe cookies, userAgent ve proxy ekleyin.
VPN kullanımı her zaman puanı düşürür mü?
Veri merkezlerinden gelen VPN IP'leri genellikle puanları 0,2-0,4 oranında düşürür. Ancak konut VPN hizmetleri daha iyi sonuçlar verir. Puanın etkisi VPN hizmetinin kendisine değil, belirli IP'nin itibar geçmişine bağlıdır.
Puanım neden aynı sitedeki sayfalar arasında farklılık gösteriyor?
reCAPTCHA v3, puanları bağlamsallaştırmak için action parametresini kullanır. Farklı eylemlerin (ana sayfa, giriş, ödeme) farklı temel puanları olabilir. Ayrıca, oturum sırasında davranışsal sinyaller birikir; daha fazla davranış verisi mevcut olduğundan sonraki sayfalar daha yüksek puan alabilir.
Sitenin sahibi olmadan reCAPTCHA puanımı kontrol edebilir miyim?
Doğrudan değil. reCAPTCHA v3 puanları yalnızca siteverify API'si aracılığıyla sunucuya döndürülür. Ancak, sitelerin bilinen reCAPTCHA v3 uygulamalarında size zorluklar gösterip göstermediğini (düşük puan) veya sizi geçip geçmediğini (yüksek puan) gözlemleyerek puanınızı tahmin edebilirsiniz.
Özet
reCAPTCHA puanları, tarayıcı test profil yapılandırması (API varlığı, tuval, WebGL), davranış analizi (fare hareketi, klavye zamanlaması, kaydırma düzenleri), ağ itibarı (IP türü, TLS test profil yapılandırması), geçmiş (Google çerezleri, önceki çözümler) ve çevresel tutarlılık (saat dilimi, ekran boyutları) ile belirlenir. Tutarlı yüksek puanlar gerektiren otomasyon için şunu kullanın:CaptchaAIve Google'ın döndürdüğü puanı yükseltmek için cookies, userAgent ve konut tipi proxy ekleyin.
İlgili Makaleler
- Api Kullanarak Recaptcha V3 Enterprise Nasıl Çözülür?
- Recaptcha V3 Minimum Puan Eşikleri
- Recaptcha V3 Kurumsal ve Standart Karşılaştırması