Karşılaştırmalar

Cloudflare Bot Yönetimi ve Turnstile: Farkı Anlamak

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:

  1. Doğrudan engelleme (403) — Bot puanı çok düşük, WAF kural engellemeleri
  2. JavaScript sorgulama sayfası — 5 saniyelik "Tarayıcınızı kontrol etme" sayfası
  3. Yönetilen zorluk — Turnstile widget'ı veya JS mücadelesi
  4. 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.

İlgili Makaleler

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