CAPTCHA'yı başarıyla çözdünüz ama istek hâlâ reddediliyor mu? Muhtemelen ikinci, görünmez bir savunma katmanıyla karşı karşıyasınız: bot tespiti.
Bot tespiti ile CAPTCHA ilişkili ama farklı iki mekanizmadır — biri sessizce arka planda çalışır, diğeri açık bir doğrulama sunar. Modern sitelerin çoğu ikisini birlikte, katmanlı biçimde kullanır. Bu yazıda hangisinin ne zaman devreye girdiğini ve web kazımada ikisini nasıl birlikte yöneteceğinizi görüyorsunuz.
Bot tespiti ile CAPTCHA arasındaki fark nedir?
Kısa cevap: bot tespiti sürekli ve görünmez çalışır, CAPTCHA ise belirli kontrol noktalarında açık bir doğrulama ister.
| Özellik | Bot Tespiti | CAPTCHA |
|---|---|---|
| Kullanıcı görür mü? | Hayır (görünmez) | Evet veya kısmen (v3/Turnstile görünmez çalışır) |
| Ne zaman çalışır? | Her istekte sürekli | Belirli kontrol noktalarında (giriş, kayıt, ödeme) |
| Bota yanıtı | Engelleme, hız sınırlama veya sahte veri sunma | Doğrulama sorusu sunma |
| Neyi analiz eder? | Başlıklar, TLS, IP, davranış, test profil yapılandırması | Doğrulama yanıtı + davranışsal sinyaller |
| Örnek sağlayıcılar | Cloudflare Bot Management, Akamai Bot Manager, DataDome, PerimeterX | reCAPTCHA, Turnstile, GeeTest |
| CaptchaAI ile çözülür mü? | Doğrudan değil | Evet |
Pratik ipucu: CAPTCHA görünmeden reddedilen istek genelde bot tespiti katmanındandır; CaptchaAI yalnızca CAPTCHA'yı çözer.
İki katman bir arada: bot tespiti + CAPTCHA
Pratikte iki katman art arda çalışır. Çoğu modern site bu sırayı izler:
Request → Bot Detection Layer → CAPTCHA Layer → Application
↓ ↓
Block obvious bots Challenge suspicious users
Örnek senaryo: Türkiye merkezli bir e-ticaret ekibi için ödeme adımını staging.example.com/qa-checkout üzerinde test eden bir QA otomasyonu düşünün (Europe/Istanbul saat dilimi).
- Bot tespiti TLS profilinizi kontrol eder → geçer
- Bot tespiti IP itibarınızı kontrol eder → geçer
- Davranışsal sinyaller şüpheli işaretlenir
- CAPTCHA (bu örnekte Turnstile) ikincil kontrol olarak devreye girer
- Solver token üretir, erişim verilir
CaptchaAI yalnızca 4. ve 5. adımı üstlenir; 1–3. adımdaki bot tespiti sinyallerini yönetmek geliştiricinin sorumluluğundadır.
Bot tespiti nasıl çalışır?
Bot tespit sistemleri her isteği uygulamaya ulaşmadan önce çok katmanlı biçimde analiz eder:
- TLS test profil yapılandırması — JA3/JA4 karması istemci kütüphanesini ele verir
- HTTP başlıkları — sırası, varlığı, değerleri
- IP itibarı — veri merkezi mi, konut IP'si mi; kötüye kullanım geçmişi
- İstek örüntüleri — hız, sıralama, zamanlama
- JavaScript testleri — istemci JS çalıştırabiliyor mu?
- Tarayıcı test profil yapılandırması — canvas, WebGL, yazı tipleri
- Davranışsal analiz — fare, klavye, dokunmatik olaylar
Yaygın bot tespiti sağlayıcıları ve CAPTCHA yönlendirmeleri
En sık karşılaşılan bot tespiti sağlayıcıları ve CAPTCHA yönlendirmeleri:
| Sağlayıcı | Tespit yöntemi | CAPTCHA'ya yönlendirme |
|---|---|---|
| Cloudflare Bot Management | TLS + JS testi + ML | Turnstile veya Challenge sayfası |
| Akamai Bot Manager | TLS + test profil yapılandırması + davranış | Özel doğrulama |
| DataDome | JS testi + test profil yapılandırması | Özel CAPTCHA veya reCAPTCHA |
| PerimeterX (HUMAN) | Davranış + test profil yapılandırması | Özel doğrulama |
| Imperva | Çok katmanlı analiz | reCAPTCHA |
CAPTCHA doğrulaması nasıl çalışır?
CAPTCHA'lar doğrulamanın gerektiği belirli noktalarda devreye girer:
- Kullanıcı korumalı bir işleme ulaşır (giriş, ödeme, form gönderimi)
- CAPTCHA widget'ı oluşturulur (görünür veya görünmez)
- Doğrulama sorusu sunulur veya sessiz analiz çalışır
- Kullanıcı veya solver doğrulamayı tamamlar
- Backend token'ı üretir ve doğrular
- Erişim verilir veya reddedilir
Web kazımada bot tespiti ve CAPTCHA'yı birlikte yönetme
Üretimde sıra önemlidir: önce bot tespiti sinyallerini düzenli tutun, sonra CAPTCHA'ları çözün.
Adım 1: Bot tespiti sinyallerini yönetin
- Puppeteer'ı standart, gerçekçi bir yapılandırmayla çalıştırın
- Proxy yapılandırmanızı trafiğinizin hacmine uygun ayarlayın
- Doğru başlıkları gönderin (
User-Agent,Acceptvb.) - Gerçekçi istek örüntüleri uygulayın
Adım 2: CAPTCHA'lar göründüğünde çözün
import requests
# Check if response contains a CAPTCHA
if "g-recaptcha" in page_source:
# Solve with CaptchaAI
token = solve_recaptcha(sitekey, page_url)
elif "cf-turnstile" in page_source:
token = solve_turnstile(sitekey, page_url)
elif "challenge" in page_source and "cloudflare" in page_source:
cookie = solve_cloudflare_challenge(page_url, proxy)
Adım 3: Algılama seviyesinin yükselmesine hazırlıklı olun
Siteler şüphe arttıkça korumayı kademeli olarak yükseltebilir:
- İlk istek: normal yanıt
- Çok sayıda istekten sonra: hız sınırlama
- Hız sınırlamasından sonra: CAPTCHA doğrulaması
- Başarısız denemelerden sonra: IP yasağı
- IP rotasyonundan sonra: test profil yapılandırması yasağı
Sık sorulan sorular
Kısa yanıtlar:
CaptchaAI bot tespitini de çözüyor mu?
Hayır. CaptchaAI yalnızca CAPTCHA'ları çözer; bot tespiti sinyallerini (başlıklar, proxy yapılandırması, istek örüntüleri) yönetmek geliştiricinin sorumluluğundadır.
İki katmanı da yönetmem gerekir mi, yoksa CAPTCHA çözümü tek başına yeterli mi?
Genellikle ikisi de gerekir. Bot tespiti CAPTCHA'ya ulaşmanızı, CAPTCHA ise formu göndermenizi engeller.
BLS gibi vize randevu portallarında hangi katmanla karşılaşırım?
Genellikle form gönderiminde bir CAPTCHA doğrulaması (çoğunlukla reCAPTCHA) görürsünüz; bu yazıdaki çözüm mantığı aynen geçerlidir.
Turnstile doğrulamasını geçtiğim halde IP'm neden engelleniyor?
Turnstile yalnızca CAPTCHA katmanıdır; IP yasağı ayrı bir bot tespiti kararıdır ve iki katman birbirinden bağımsız çalışır.
Kazınan verileri KVKK kapsamında nasıl ele almalıyım?
Kişisel veri içeren kayıtları yalnızca yetkili QA/iş amaçlarıyla, gerekli süre boyunca ve uygun güvenlik önlemleriyle saklayın. CaptchaAI veri işleme sorumluluğunuzu değiştirmez.
İlgili kılavuzlar
Konuyu derinleştirmek için:
- Cloudflare doğrulama akışı nasıl çalışır?
- Engellenmeden web kazıma rehberi
- CAPTCHA kazıma için proxy rotasyonu
CAPTCHA'ları çözmeye hazır mısınız?
Ücretsiz CaptchaAI hesabınızı açın ve entegrasyona bugün başlayın.