Wenn Cloudflare vermutet, dass es sich bei einem Besucher um einen Bot handelt, wird ein ganzseitiges Interstitial mit der Meldung „Überprüfen Sie Ihren Browser vor dem Zugriff …“ oder „Bestätigen Sie, dass Sie ein Mensch sind“ angezeigt. Dies wird als Cloudflare Challenge bezeichnet – nicht zu verwechseln mit Turnstile, einem in eine Seite eingebetteten Widget.
Die Challenge blockiert den Zugriff auf die gesamte Seite, bis der Browser die Überprüfung besteht. Nach der Weitergabe setzt Cloudflare ein cf_clearance-Cookie, das Zugriff auf nachfolgende Anfragen gewährt.
So funktioniert der Challenge-Flow
Request → Cloudflare proxy → Suspicious? → Challenge page
↓
Browser verification
↓
cf_clearance cookie set
↓
Original page loads
- Anfrage abgefangen – Der Reverse-Proxy von Cloudflare wertet die eingehende Anfrage aus
- Risikobewertung – IP-Reputation, Anforderungsheader, TLS-Browser-Signalprofil und Verhalten werden analysiert
- Herausforderung beantwortet – Bei Verdacht wird die beabsichtigte Antwort durch eine Herausforderungsseite ersetzt
- Browserüberprüfung – JavaScript-Herausforderungen werden im Browser ausgeführt
- Cookie-Set – Bei Erfolg wird das
cf_clearance-Cookie mit einer konfigurierbaren TTL gesetzt - Zugriff gewährt – Der Browser lädt neu und empfängt den ursprünglichen Seiteninhalt
Was löst ein Cloudflare Challenge aus
| Auslöser | Beschreibung |
|---|---|
| Rechenzentrums-IP | Anfrage bei bekannten Hosting-Anbietern |
| Fehlende Header | Fehlende oder ungewöhnliche HTTP-Header |
| TLS-Browser-Signalprofil | Der JA3/JA4-Browser-Signalprofil stimmt mit bekannten Bot-Signaturen überein |
| Hohe Anfragequote | Zu viele Anfragen von derselben IP |
| Einstellung der Sicherheitsstufe | Der Websitebesitzer legt den Herausforderungsschwellenwert auf hoch fest |
| Länderspezifische Regeln | Geografische Sperr- oder Herausforderungsregeln |
| Bot-Score | Der ML-Bot-Score von Cloudflare ist zu niedrig |
| Bekannte Bedrohung | IP erscheint auf Threat-Intelligence-Listen |
Das cf_clearance-Cookie
Nach bestandener Challenge erhält der Browser:
cf_clearance=abc123...; path=/; domain=.example.com; secure; HttpOnly; SameSite=None
Haupteigenschaften:
- Dauer: 15 Minuten bis 24 Stunden (vom Websitebesitzer konfigurierbar)
- Geltungsbereich: An die spezifische Domäne gebunden
- Bindung: An den Benutzeragenten und die IP-Adresse gebunden, die während der Überprüfung verwendet wurden
- Verwendung: Muss in allen nachfolgenden Anfragen enthalten sein, um eine erneute Herausforderung zu vermeiden
Wichtig: Das cf_clearance-Cookie ist an den spezifischen User-Agent und die IP-Adresse gebunden, die während der Überprüfung verwendet werden. Wenn Sie eines davon ändern, wird das Cookie ungültig.
Cloudflare Challenge vs. Turnstile vs. JS Challenge
| Funktion | CF-Herausforderung | Drehkreuz | JS-Herausforderung |
|---|---|---|---|
| Typ | Ganzseitiges Interstitial | In-Page-Widget | Stiller Check |
| Benutzer sieht | Seite „Überprüfen Sie Ihren Browser“. | Kontrollkästchen oder nichts | Nichts |
| Blockiert den Seitenzugriff | Ja | Nein | Kurz gesagt |
| Legt cf_clearance fest | Ja | Manchmal | Ja |
| Zum Lösen ist ein Proxy erforderlich | Ja | Nein | N/A |
| Die Website verwendet Cloudflare CDN | Erforderlich | Optional | Erforderlich |
Lösen von Cloudflare Challenge mit CaptchaAI
Für die Lösung von Cloudflare Challenge ist ein Proxy erforderlich, da das cf_clearance-Cookie an die IP-Adresse gebunden ist.
Python
import requests
import time
API_KEY = "YOUR_API_KEY"
# Submit task — proxy is REQUIRED
response = requests.get("https://ocr.captchaai.com/in.php", params={
"key": API_KEY,
"method": "cloudflare_challenge",
"pageurl": "https://example.com/protected-page",
"proxy": "username:password@proxy.example.com:8080",
"proxytype": "HTTP",
"json": 1
})
task_id = response.json()["request"]
# Poll for result
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:
solution = result["request"]
# solution contains cf_clearance cookie + user_agent
print(f"cf_clearance: {solution}")
break
Node.js
const axios = require('axios');
async function solveCloudflareChallenge(pageurl, proxy) {
const { data } = await axios.get('https://ocr.captchaai.com/in.php', {
params: {
key: 'YOUR_API_KEY',
method: 'cloudflare_challenge',
pageurl,
proxy,
proxytype: 'HTTP',
json: 1
}
});
const taskId = data.request;
for (let i = 0; i < 60; i++) {
await new Promise(r => setTimeout(r, 5000));
const res = await axios.get('https://ocr.captchaai.com/res.php', {
params: { key: 'YOUR_API_KEY', action: 'get', id: taskId, json: 1 }
});
if (res.data.status === 1) return res.data.request;
}
throw new Error('Timeout');
}
Verwendung des cf_clearance-Cookies
# After getting the solution
cf_clearance = solution["cf_clearance"]
user_agent = solution["user_agent"]
# Use the SAME proxy and user agent for subsequent requests
session = requests.Session()
session.cookies.set("cf_clearance", cf_clearance, domain=".example.com")
session.headers["User-Agent"] = user_agent
session.proxies = {"https": "http://username:password@proxy.example.com:8080"}
# Now access the protected page
page = session.get("https://example.com/protected-page")
print(f"Status: {page.status_code}")
Warum ein Proxy erforderlich ist
Das cf_clearance-Cookie ist kryptografisch gebunden an:
- IP-Adresse – Die Lösung muss von derselben IP aus erfolgen, die Sie verwenden werden
- User-Agent – Der Solve-Benutzeragent muss Ihren Anforderungen entsprechen
- TLS-Browser-Signalprofil – Einige Konfigurationen prüfen auch TLS-Eigenschaften
Wenn einer dieser Punkte zwischen der Lösung und Ihren nachfolgenden Anfragen abweicht, ist das Cookie ungültig.
FAQ
Wie lange dauert cf_clearance?
Websitebesitzer konfigurieren die Dauer, normalerweise 15 Minuten bis 24 Stunden. Nach Ablauf muss eine neue Herausforderung gelöst werden.
Kann ich cf_clearance über verschiedene IPs hinweg wiederverwenden?
Nein. Das Cookie ist an die bei der Verifizierung verwendete IP gebunden. Das Ändern von IPs erfordert eine neue Lösung.
Was ist der Unterschied zwischen Cloudflare Challenge und Turnstile?
Cloudflare Challenge ist ein ganzseitiges Interstitial, das den Seitenzugriff blockiert. Turnstile ist ein in die Seite eingebettetes Widget, ähnlich wie reCAPTCHA. Bei der Herausforderung muss die Website Cloudflare als Proxy verwenden. Drehkreuze können auf jedem Gelände eingesetzt werden.
Wie lange dauert die Lösung?
Das Lösen von Cloudflare Challenge dauert 20–60 Sekunden und ist aufgrund der vollständigen Browserüberprüfung länger als Turnstile oder reCAPTCHA.
Was ist, wenn die Seite sowohl Cloudflare als auch reCAPTCHA enthält?
Lösen Sie zuerst das Cloudflare Challenge, um auf die Seite zuzugreifen, und lösen Sie dann das reCAPTCHA auf der geladenen Seite.
Verwandte Leitfäden
- So lösen Sie Cloudflare Challenge mithilfe der API
- Cloudflare Challenge Fehler und Korrekturen
- So funktioniert Cloudflare Turnstile
- So lösen Sie Cloudflare Turnstile mithilfe der API