Explainers

reCAPTCHA Puan Faktörleri: Tam Teknik Analiz

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üm
  • rc::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

Bu makale için yorumlar devre dışı bırakılmıştır.