Perbandingan

Cloudflare Bot Management vs Turnstile: Memahami Perbedaannya

Cloudflare menawarkan dua produk perlindungan bot berbeda yang sering membingungkan developer: Bot Management (pertahanan tingkat jaringan enterprise) dan Turnstile (widget pengganti CAPTCHA gratis). Bot Management adalah platform komprehensif yang mencakup aturan WAF, rate limiting, dan analisis perilaku. Turnstile adalah widget CAPTCHA mandiri yang dapat disematkan di situs web mana pun secara gratis. Memahami perbedaannya penting untuk memilih pendekatan otomasi yang tepat.


Perbandingan cepat

Fitur Manajemen Bot Pintu putar
Apa itu Platform pertahanan bot perusahaan Widget CAPTCHA gratis
Harga Paket perusahaan ($$$) Gratis untuk semua paket
Penerapan Tingkat jaringan (proksi Cloudflare) Widget JavaScript (disematkan di halaman)
Memerlukan DNS Cloudflare Ya Tidak (berfungsi di situs mana pun)
Tantangan yang terlihat Terkadang (tantangan terkelola) Jarang (kebanyakan tidak terlihat)
Cakupan deteksi Semua permintaan ke domain Tindakan halaman tertentu (pengiriman formulir, dll.)
Skor bot 1-99 (per permintaan) Pass/fail (per tantangan)
Integrasi WAF Ya (aturan berdasarkan skor bot) Tidak
Tantangan JavaScript Ya (halaman tunggu 5 detik) Ya (bukti latar belakang kerja)
Pembatasan tarif Ya Tidak
Dukungan CaptchaAI Melalui metode Cloudflare Turnstile/Challenge Ya (tingkat keberhasilan 100%)

Manajemen Bot Cloudflare (Perusahaan)

Manajemen Bot adalah bagian dari rencana Perusahaan Cloudflare. Ini beroperasi di tingkat jaringan — setiap permintaan ke domain dievaluasi sebelum mencapai server asal.

Cara kerja Manajemen Bot

Request arrives at Cloudflare edge
    ↓
Bot Management engine evaluates:
  ├─ Machine learning model (behavioral sinyal browser)
  ├─ Heuristics (known bot patterns)
  ├─ JavaScript sinyal browser (if JS challenge triggered)
  ├─ JA3/JA4 TLS sinyal browser
  ├─ 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

Komponen Manajemen Bot

Komponen Tujuan
Skor Bot Skor berbasis ML untuk setiap permintaan
Tantangan Terkelola Secara adaptif menunjukkan tantangan JS atau Cloudflare Turnstile
Mode Pertarungan Super Bot Mode yang disederhanakan untuk paket Pro/Business
Analisis Bot Dasbor menunjukkan lalu lintas bot vs manusia
Aturan Kustom WAF Aturan yang memicu ambang batas skor bot
Pembatasan Tarif Batasan tarif permintaan per IP/session
Deteksi JavaScript Deteksi browser dan alat otomasi tanpa kepala

Apa yang Ditemui Otomasi

Saat situs menggunakan Bot Management, request otomatis mungkin melihat:

  1. Block langsung (403) — Bot score sangat rendah, WAF rule block
  2. Halaman JavaScript challenge — Halaman "Checking your browser" selama 5 detik
  3. Managed challenge — Widget Turnstile atau JS challenge
  4. Pass tak terlihat — Request diizinkan (bot score cukup tinggi)

Cloudflare Turnstile (CAPTCHA Gratis)

Turnstile adalah widget CAPTCHA mandiri yang menggantikan CAPTCHA tradisional. Ia bekerja independen dari Bot Management dan dapat digunakan di situs mana pun (bukan hanya situs yang diproxy Cloudflare).

Cara Kerja Turnstile

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)

Mode Widget Turnstile

Mode Perilaku Use Case
Managed Cloudflare memutuskan antara invisible dan interactive Default, direkomendasikan
Non-interactive Selalu invisible (hanya proof-of-work) Form gesekan rendah
Invisible Tidak ada widget terlihat, berjalan saat halaman dimuat Background verification

Integrasi Turnstile

<!-- 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>

Solving Bot Management vs Turnstile

Solving Turnstile (langsung)

Turnstile di-solve via metode Turnstile CaptchaAI dengan tingkat keberhasilan 100%:

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

Solving Bot Management Challenge

Bot Management menggunakan beberapa lapisan pertahanan. Komponen CAPTCHA (jika ada) biasanya berupa Managed Challenge yang ditampilkan sebagai Turnstile:

# 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")

Halaman Cloudflare Challenge (Bukan Turnstile)

Halaman JavaScript challenge "Checking your browser" BUKAN merupakan widget Turnstile. CaptchaAI menangani ini melalui metode cloudflare_challenge:

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,
})

Kapan Anda Menemukan Masing-Masing Produk

Skenario Kemungkinan produk Cara mengidentifikasi
Halaman "Checking your browser" 5 detik Bot Management (JS challenge) cf-chl-validasi, jschl_vc di source halaman
Widget Turnstile pada form Turnstile (mandiri) Class cf-turnstile, challenges.cloudflare.com/turnstile
403 Forbidden dengan halaman error Cloudflare Bot Management (hard block) Header cf-ray, template error Cloudflare
Checkbox interaktif di halaman Cloudflare Managed Challenge (Bot Management) Domain challenges.cloudflare.com
Tidak ada challenge terlihat tapi cookie cf di-set Bot Management (pass) Cookie qa_validation_cookie

Kode deteksi

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

Pertanyaan yang Sering Diajukan

Bisakah sebuah situs menggunakan Bot Management dan Turnstile?

Ya. Bot Management beroperasi di tingkat jaringan untuk semua request, sedangkan Turnstile dapat ditambahkan sebagai widget pada halaman tertentu. Sebuah situs mungkin menggunakan Bot Management untuk memblokir bot jelas di edge dan Turnstile pada form login/signup untuk verifikasi tambahan.

Apakah Turnstile bagian dari Bot Management?

Tidak secara langsung. Turnstile adalah produk terpisah. Namun, mode "Managed Challenge" Bot Management dapat menampilkan widget mirip Turnstile. Pendekatan solving-nya sama — gunakan solver Turnstile CaptchaAI.

Mana yang lebih sulit di-solve?

Bot Management lebih sulit karena mengevaluasi setiap request di tingkat jaringan dengan banyak sinyal (TLS sinyal browser, IP reputation, pola request). Turnstile sendiri hanya melindungi form submit tertentu. Untuk Bot Management, Anda perlu header yang tepat, konfigurasi TLS, dan rotasi IP selain menyelesaikan CAPTCHA challenge.

Apakah CaptchaAI menyelesaikan keduanya?

CaptchaAI solve widget Turnstile (tingkat keberhasilan 100%) dan halaman Cloudflare Challenge. Block tingkat jaringan Bot Management (respons 403) memerlukan infrastruktur tambahan (header yang tepat, proxy) yang berada di luar cakupan CaptchaAI — CaptchaAI menangani komponen CAPTCHA challenge.


Ringkasan

Cloudflare Bot Management adalah pertahanan tingkat jaringan enterprise yang mengevaluasi setiap request dengan ML scoring, aturan WAF, dan analisis perilaku. Cloudflare Turnstile adalah widget CAPTCHA gratis yang memverifikasi pengguna melalui browser proof-of-work. Untuk otomasi, Turnstile di-solve langsung dengan CaptchaAI (tingkat keberhasilan 100%). Bot Management challenge memerlukan simulasi browser yang tepat ditambah CaptchaAI untuk komponen CAPTCHA challenge.


Artikel Terkait

  • Cloudflare Browser Integrity Check vs CAPTCHA
  • Cloudflare Challenge vs Turnstile: Mendeteksi Perbedaan
Komentar dinonaktifkan untuk artikel ini.