Hintergründe

So funktioniert Cloudflare Challenge

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
  1. Anfrage abgefangen – Der Reverse-Proxy von Cloudflare wertet die eingehende Anfrage aus
  2. Risikobewertung – IP-Reputation, Anforderungsheader, TLS-Browser-Signalprofil und Verhalten werden analysiert
  3. Herausforderung beantwortet – Bei Verdacht wird die beabsichtigte Antwort durch eine Herausforderungsseite ersetzt
  4. Browserüberprüfung – JavaScript-Herausforderungen werden im Browser ausgeführt
  5. Cookie-Set – Bei Erfolg wird das cf_clearance-Cookie mit einer konfigurierbaren TTL gesetzt
  6. 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

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:

  1. IP-Adresse – Die Lösung muss von derselben IP aus erfolgen, die Sie verwenden werden
  2. User-Agent – Der Solve-Benutzeragent muss Ihren Anforderungen entsprechen
  3. 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

Kommentare sind für diesen Artikel deaktiviert.