Cloudflare bietet zwei unterschiedliche Bot-Schutzprodukte an, die Entwickler häufig verwechseln: Bot Management (eine Verteidigung auf Unternehmensnetzwerkebene) und Turnstile (ein kostenloses CAPTCHA-Ersatz-Widget). Bot Management ist eine umfassende Plattform, die WAF-Regeln, Ratenbegrenzung und Verhaltensanalyse umfasst. Turnstile ist ein eigenständiges CAPTCHA-Widget, das jede Website kostenlos einbetten kann. Für die Wahl des richtigen Automatisierungsansatzes ist es entscheidend, den Unterschied zu verstehen.
Schneller Vergleich
| Funktion | Bot-Management | Turnstile |
|---|---|---|
| Was es ist | Bot-Abwehrplattform für Unternehmen | Kostenloses CAPTCHA-Widget |
| Preise | Unternehmensplan ($$$) | Kostenlos für alle Pläne |
| Bereitstellung | Netzwerkebene (Cloudflare-Proxy) | JavaScript-Widget (auf Seite einbetten) |
| Erfordert Cloudflare DNS | Ja | Nein (funktioniert auf jeder Website) |
| Sichtbare Herausforderung | Manchmal (gemeisterte Herausforderung) | Selten (meistens unsichtbar) |
| Erkennungsumfang | Alle Anfragen an die Domain | Spezifische Seitenaktionen (Formular absenden usw.) |
| Bot-Score | 1-99 (pro Anfrage) | Pass/fail (pro Herausforderung) |
| WAF-Integration | Ja (Regeln basieren auf dem Bot-Score) | Nein |
| JavaScript-Herausforderung | Ja (Seite mit 5 Sekunden Wartezeit) | Ja (Hintergrundnachweis der Arbeit) |
| Ratenbegrenzung | Ja | Nein |
| CaptchaAI-Unterstützung | Über Turnstile/Challenge-Methoden | Ja (100 % Erfolgsquote) |
Cloudflare Bot Management (Unternehmen)
Bot Management ist Teil des Enterprise-Plans von Cloudflare. Es arbeitet auf Netzwerkebene – jede Anfrage an die Domäne wird ausgewertet, bevor sie den Ursprungsserver erreicht.
So funktioniert Bot-Management
Request arrives at Cloudflare edge
↓
Bot Management engine evaluates:
├─ Machine learning model (behavioral fingerprint)
├─ Heuristics (known bot patterns)
├─ JavaScript fingerprinting (if JS challenge triggered)
├─ JA3/JA4 TLS fingerprint
├─ 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-Management-Komponenten
| Komponente | Zweck |
|---|---|
| Bot-Score | ML-basierter Score für jede Anfrage |
| Gewaltete Herausforderung | Zeigt adaptiv JS Challenge oder Turnstile an |
| Super-Bot-Kampfmodus | Vereinfachter Modus für Pro/Business-Pläne |
| Bot-Analyse | Dashboard, das Bot- und menschlichen Datenverkehr zeigt |
| Benutzerdefinierte WAF-Regeln | Regeln, die bei Bot-Score-Schwellenwerten ausgelöst werden |
| Ratenbegrenzung | Schwellenwerte für Anforderungsraten pro IP/session |
| JavaScript-Erkennung | Erkennung von Headless-Browsern und Automatisierungstools |
Welche Automatisierung begegnet
Wenn eine Website Bot Management verwendet, können automatisierte Anfragen Folgendes sehen:
- Direkte Blockierung (403) – Bot-Score sehr niedrig, WAF-Regel blockiert
- JavaScript-Challenge-Seite – 5-Sekunden-Seite „Überprüfen Sie Ihren Browser“.
- Verwaltete Herausforderung – Turnstile-Widget oder JS-Herausforderung
- Unsichtbarer Pass – Anfrage zulässig (Bot-Score hoch genug)
Cloudflare Turnstile (Kostenloses CAPTCHA)
Turnstile ist ein eigenständiges CAPTCHA-Widget, das herkömmliche CAPTCHAs ersetzt. Es funktioniert unabhängig vom Bot-Management und kann auf jeder Website verwendet werden (nicht nur auf Websites mit Cloudflare-Proxy).
Wie Turnstile funktioniert
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-Modi
| Modus | Verhalten | Anwendungsfall |
|---|---|---|
| Verwaltet | Cloudflare entscheidet zwischen unsichtbar und interaktiv | Standard, empfohlen |
| Nicht interaktiv | Immer unsichtbar (nur Proof-of-Work) | Reibungsarme Formen |
| Unsichtbar | Kein Widget sichtbar, wird beim Laden der Seite ausgeführt | Hintergrundüberprüfung |
Turnstileintegration
<!-- 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>
Lösung von Bot Management vs. Turnstile
Turnstile lösen (einfach)
Turnstile wird durch die Turnstile-Methode von CaptchaAI mit einer Erfolgsquote von 100 % gelöst:
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
Herausforderungen im Bot-Management lösen
Bot Management nutzt mehrere Verteidigungsebenen. Die CAPTCHA-Komponente (falls vorhanden) ist normalerweise eine verwaltete Herausforderung, die als Turnstile dargestellt wird:
# 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 Challenge-Seite (kein Turnstile)
Die JavaScript-Herausforderungsseite „Überprüfen Sie Ihren Browser“ ist KEIN Turnstile-Widget. CaptchaAI erledigt dies über die Methode 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,
})
Wenn Sie auf jedes Produkt stoßen
| Szenario | Wahrscheinliches Produkt | So identifizieren Sie sich |
|---|---|---|
| 5-Sekunden-Seite „Überprüfen Sie Ihren Browser“. | Bot-Management (JS-Herausforderung) | cf-chl-bypass, jschl_vc in der Seitenquelle |
| Turnstile-Widget auf einem Formular | Turnstile (eigenständig) | cf-turnstile-Klasse, challenges.cloudflare.com/turnstile |
| 403 Verboten mit Cloudflare-Fehlerseite | Bot-Management (harter Block) | cf-ray-Header, Cloudflare-Fehlervorlage |
| Interaktives Kontrollkästchen auf der Cloudflare-Seite | Verwaltete Herausforderung (Bot-Verwaltung) | challenges.cloudflare.com-Domäne |
| Keine sichtbare Herausforderung, aber CF-Cookies gesetzt | Bot Management (bestanden) | cf_clearance-Cookie |
Erkennungscode
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
Häufig gestellte Fragen
Kann eine Site sowohl Bot Management als auch Turnstile verwenden?
Ja. Bot Management arbeitet auf Netzwerkebene für alle Anfragen, während Turnstile als Widget auf bestimmten Seiten hinzugefügt werden kann. Eine Site könnte Bot Management verwenden, um offensichtliche Bots am Rand und Turnstile auf Login/signup-Formularen für eine zusätzliche Überprüfung zu blockieren.
Ist Turnstile Teil des Bot-Managements?
Nicht direkt. Turnstile ist ein separates Produkt. Der „Managed Challenge“-Modus von Bot Management kann jedoch ein Turnstile-ähnliches Widget rendern. Der Lösungsansatz ist derselbe – verwenden Sie den Turnstile-Solver von CaptchaAI.
Was ist schwieriger zu lösen?
Das Bot-Management ist schwieriger, da es jede Anfrage auf Netzwerkebene mit mehreren Signalen (TLS-Browser-Signalprofil, IP-Reputation, Anfragemuster) bewertet. Das Turnstile allein schützt nur bestimmte Formulareinreichungen. Für das Bot-Management benötigen Sie zusätzlich zur Lösung der CAPTCHA-Herausforderung die richtigen Header, TLS-Konfiguration und IP-Rotation.
Löst CaptchaAI beides?
CaptchaAI löst Turnstile-Widgets (100 % Erfolgsquote) und Cloudflare Challenge-Seiten. Die Blockierung auf Netzwerkebene (403 Antworten) von Bot Management erfordert zusätzliche Infrastruktur (richtige Header, Proxys), die außerhalb des Geltungsbereichs von CaptchaAI liegt – CaptchaAI übernimmt die CAPTCHA-Challenge-Komponente.
Zusammenfassung
Cloudflare Bot Management ist ein Schutz auf Unternehmensnetzwerkebene, der jede Anfrage mit ML-Scoring, WAF-Regeln und Verhaltensanalysen bewertet. Cloudflare Turnstile ist ein kostenloses CAPTCHA-Widget, das Benutzer durch Browser-Proof-of-Work verifiziert. Für die Automatisierung wird Turnstile direkt mit gelöst mit CaptchaAI(100 % Erfolgsquote). Bot-Management-Herausforderungen erfordern eine ordnungsgemäße Browsersimulation sowie CaptchaAI für die CAPTCHA-Herausforderungskomponente.
Verwandte Artikel
- Cloudflare-Browser-Integritätsprüfung vs. Captcha
- Cloudflare Challenge: Wie es funktioniert
- GeeTest vs. reCAPTCHA Vergleich