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:
- Block langsung (403) — Bot score sangat rendah, WAF rule block
- Halaman JavaScript challenge — Halaman "Checking your browser" selama 5 detik
- Managed challenge — Widget Turnstile atau JS challenge
- 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