Cloudflare, geliştiricilerin sıklıkla karıştırdığı iki farklı bot koruma ürünü sunar: Bot Yönetimi (kurumsal ağ düzeyinde bir savunma) ve Turnstile (ücretsiz bir CAPTCHA değiştirme widget'ı). Bot Yönetimi, WAF kurallarını, hız sınırlamasını ve davranış analizini içeren kapsamlı bir platformdur. Turnstile, herhangi bir web sitesinin ücretsiz olarak yerleştirebileceği bağımsız bir CAPTCHA widget'ıdır. Farkı anlamak, doğru otomasyon yaklaşımını seçmek açısından kritik öneme sahiptir.
Hızlı karşılaştırma
| Özellik | Bot Yönetimi | Turnstile |
|---|---|---|
| Bu nedir | Kurumsal bot savunma platformu | Ücretsiz CAPTCHA widget'ı |
| Fiyatlandırma | Kurumsal plan ($$$) | Tüm planlar için ücretsiz |
| Dağıtım | Ağ düzeyinde (Cloudflare proxy'si) | JavaScript widget'ı (sayfaya yerleştirme) |
| Cloudflare DNS gerektirir | Evet | Hayır (her sitede çalışır) |
| Görünür zorluk | Bazen (yönetilen zorluk) | Nadiren (çoğunlukla görünmez) |
| Algılama kapsamı | Etki alanına yönelik tüm istekler | Belirli sayfa eylemleri (form gönderme vb.) |
| Bot puanı | 1-99 (talep başına) | Pass/fail (meydan okuma başına) |
| WAF entegrasyonu | Evet (kurallar bot puanına dayalıdır) | Hayır |
| JavaScript mücadelesi | Evet (5 saniyelik bekleme sayfası) | Evet (arka plan çalışma kanıtı) |
| Hız sınırlaması | Evet | Hayır |
| CaptchaAI desteği | Turnstile/Challenge yöntemleriyle | Evet (%100 başarı oranı) |
Cloudflare Bot Yönetimi (Kurumsal)
Bot Yönetimi, Cloudflare'in Kurumsal planının bir parçasıdır. Ağ düzeyinde çalışır; etki alanına yapılan her istek, kaynak sunucuya ulaşmadan önce değerlendirilir.
Bot Yönetimi nasıl çalışır?
Request arrives at Cloudflare edge
↓
Bot Management engine evaluates:
├─ Machine learning model (behavioral test profil yapılandırması)
├─ Heuristics (known bot patterns)
├─ JavaScript fingerprinting (if JS challenge triggered)
├─ JA3/JA4 TLS test profil yapılandırması
├─ HTTP header analysis
└─ IP reputation (Cloudflare sees ~20% of internet traffic)
↓
Bot score assigned: 1 (definitely bot) to 99 (definitely human)
↓
WAF rules act on the score:
- Score > 50 → Allow
- Score 30-50 → Managed challenge
- Score < 30 → Block or JavaScript challenge
Bot Yönetimi bileşenleri
| Bileşen | Amaç |
|---|---|
| Bot Puanı | Her istek için ML tabanlı puan |
| Yönetilen Mücadele | JS mücadelesini veya Turnstileyi uyarlanabilir bir şekilde gösterir |
| Süper Bot Dövüş Modu | Pro/Business planları için basitleştirilmiş mod |
| Bot Analizi | Bot ve insan trafiğini gösteren kontrol paneli |
| WAF Özel Kuralları | Bot puanı eşiklerinde tetiklenen kurallar |
| Hız Sınırlaması | IP/session başına istek hızı eşikleri |
| JavaScript Algılama | Headless tarayıcı ve otomasyon aracı tespiti |
Otomasyonun karşılaştığı şeyler
Bir site Bot Yönetimini kullandığında otomatik istekler şunları görebilir:
- Doğrudan engelleme (403) — Bot puanı çok düşük, WAF kural engellemeleri
- JavaScript sorgulama sayfası — 5 saniyelik "Tarayıcınızı kontrol etme" sayfası
- Yönetilen zorluk — Turnstile widget'ı veya JS mücadelesi
- Görünmez geçiş — İsteğe izin verildi (bot puanı yeterince yüksek)
Cloudflare Turnstile (Ücretsiz CAPTCHA)
Turnstile, geleneksel CAPTCHA'ların yerini alan bağımsız bir CAPTCHA widget'ıdır. Bot Yönetiminden bağımsız olarak çalışır ve herhangi bir web sitesinde kullanılabilir (yalnızca Cloudflare proxy'li sitelerde değil).
Turnstile nasıl çalışır?
Page loads Turnstile widget
↓
Widget runs background checks:
├─ Browser proof-of-work challenge (cryptographic puzzle)
├─ Private Access Token (Apple devices)
├─ Browser environment validation
└─ Cloudflare threat intelligence
↓
Result: cf-turnstile-response token generated
↓
Token submitted with form data
↓
Server validates token via Cloudflare API (siteverify)
Turnstile widget modları
| Mod | Davranış | Kullanım örneği |
|---|---|---|
| Yönetilen | Cloudflare görünmez ve etkileşimli arasında karar verir | Varsayılan, önerilen |
| Etkileşimli değil | Her zaman görünmez (yalnızca iş kanıtı) | Düşük sürtünmeli formlar |
| Görünmez | Widget görünmüyor, sayfa yüklendiğinde çalışıyor | Arka planda doğrulama |
Turnstile entegrasyonu
<!-- Simple Turnstile integration -->
<div class="cf-turnstile" data-sitekey="0x4AAAAAAAC3DHQhMMQ_Rxrg"></div>
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
Bot Yönetimi ve Turnstile Karşılaştırmasını Çözmek
Turnstileyi Çözmek (basit)
Turnstile, CaptchaAI'nin Turnstile yöntemiyle %100 başarı oranıyla çözülür:
import requests
import time
API_KEY = "YOUR_API_KEY"
submit = requests.post("https://ocr.captchaai.com/in.php", data={
"key": API_KEY,
"method": "turnstile",
"sitekey": "0x4AAAAAAAC3DHQhMMQ_Rxrg",
"pageurl": "https://example.com/signup",
"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"Turnstile token: {token[:50]}...")
break
Bot Yönetimi zorluklarını çözme
Bot Yönetimi birden fazla savunma katmanı kullanır. CAPTCHA bileşeni (varsa) genellikle Turnstile görevi gören bir Yönetilen Mücadeledir:
# Bot Management flow for automation:
# 1. Make initial request
response = requests.get("https://protected-site.com/api/data")
# 2. Check if challenged
if response.status_code == 403:
# Hard block — need to adjust headers, proxy, or approach
pass
elif "challenge" in response.text.lower() or response.status_code == 503:
# JavaScript challenge or managed challenge
# If it contains a Turnstile widget, solve it:
if "cf-turnstile" in response.text or "challenges.cloudflare.com" in response.text:
# Extract sitekey and solve via CaptchaAI
sitekey = extract_turnstile_sitekey(response.text)
token = solve_turnstile(sitekey, "https://protected-site.com/api/data")
Cloudflare doğrulama akışı sayfası (Turnstile olmayan)
"Tarayıcınızı kontrol etme" JavaScript sorgulama sayfası bir Turnstile widget'ı DEĞİLDİR. CaptchaAI bunu cloudflare_challenge yöntemiyle gerçekleştirir:
submit = requests.post("https://ocr.captchaai.com/in.php", data={
"key": API_KEY,
"method": "cloudflare_challenge",
"sitekey": "managed",
"pageurl": "https://protected-site.com/login",
"json": 1,
})
Her ürünle karşılaştığınızda
| Senaryo | Olası ürün | Nasıl tanımlanır |
|---|---|---|
| 5 saniyelik "Tarayıcınızı kontrol etme" sayfası | Bot Yönetimi (JS mücadelesi) | Sayfa kaynağında cf-chl-QA tanılama, jschl_vc |
| Bir formdaki Turnstile widget'ı | Turnstile (bağımsız) | cf-turnstile sınıfı, challenges.cloudflare.com/turnstile |
| 403 Cloudflare hata sayfasıyla yasaklandı | Bot Yönetimi (sert blok) | cf-ray başlığı, Cloudflare hata şablonu |
| Cloudflare sayfasındaki etkileşimli onay kutusu | Yönetilen Mücadele (Bot Yönetimi) | challenges.cloudflare.com alanı |
| Görünür bir zorluk yok ancak çerezler ayarlandı | Bot Yönetimi (geçti) | qa_session_cookie çerezi |
Algılama kodu
import requests
def identify_cloudflare_protection(url):
"""Identify which Cloudflare protection a URL uses."""
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
"AppleWebKit/537.36 Chrome/120.0.0.0",
}
response = requests.get(url, headers=headers, timeout=15, allow_redirects=False)
html = response.text
result = {
"cloudflare_protected": "cf-ray" in response.headers.get("cf-ray", "")
or "cloudflare" in response.headers.get("server", "").lower(),
"bot_management_challenge": False,
"turnstile_widget": False,
"hard_block": False,
"passed": False,
}
if response.status_code == 403:
result["hard_block"] = True
elif response.status_code == 503 and "jschl" in html:
result["bot_management_challenge"] = True
elif "cf-turnstile" in html:
result["turnstile_widget"] = True
elif response.status_code == 200:
result["passed"] = True
return result
Sık sorulan sorular
Bir site hem Bot Yönetimini hem de Turnstileyi kullanabilir mi?
Evet. Bot Yönetimi tüm istekler için ağ düzeyinde çalışır, Turnstile ise belirli sayfalara widget olarak eklenebilmektedir. Bir site, uçtaki bariz botları engellemek için Bot Yönetimini ve ek doğrulama için giriş/signup formlarındaki Turnstileyi kullanabilir.
Turnstile Bot Yönetiminin bir parçası mı?
Doğrudan değil. Turnstile ayrı bir üründür. Ancak Bot Yönetiminin "Yönetilen Mücadele" modu Turnstile benzeri bir widget oluşturabilir. Çözüm yaklaşımı aynıdır; CaptchaAI'nin Turnstile çözücüsünü kullanın.
Hangisini çözmek daha zor?
Bot Yönetimi daha zordur çünkü ağ düzeyindeki her isteği birden fazla sinyalle (TLS test profil yapılandırması, IP itibarı, istek kalıpları) değerlendirir. Turnstile tek başına yalnızca belirli form gönderimlerini korur. Bot Yönetimi için CAPTCHA sorununu çözmenin yanı sıra uygun başlıklara, TLS yapılandırmasına ve IP rotasyonuna da ihtiyacınız var.
CaptchaAI her ikisini de çözüyor mu?
CaptchaAI, Turnstile widget'larını (%100 başarı oranı) ve Cloudflare doğrulama akışı sayfalarını çözer. Bot Yönetiminin ağ düzeyindeki engellemesi (403 yanıt), CaptchaAI'nin kapsamı dışında olan ek altyapı (uygun başlıklar, proxy'ler) gerektirir — CaptchaAI, CAPTCHA sorgulama bileşenini yönetir.
Özet
Cloudflare Bot Yönetimi, her isteği ML puanlaması, WAF kuralları ve davranış analizi ile değerlendiren, kurumsal ağ düzeyinde bir savunmadır. Cloudflare Turnstile, kullanıcıları tarayıcı çalışma kanıtı aracılığıyla doğrulayan ücretsiz bir CAPTCHA widget'ıdır. Otomasyon için Turnstile doğrudan çözülürCaptchaAI(%100 başarı oranı). Bot Yönetimi zorlukları, CAPTCHA mücadelesi bileşeni için uygun tarayıcı simülasyonunun yanı sıra CaptchaAI'yi gerektirir.