← Zurück zum Glossar
websicherheit

mCaptcha

Datenschutzfreundliches, selbst-hostbares Open-Source-CAPTCHA-System, das auf Proof-of-Work basiert statt auf Tracking oder Verhaltensanalyse.

Aktualisiert: 23. Februar 2026

Was ist mCaptcha?

mCaptcha ist ein quelloffenes CAPTCHA-System, das auf dem Proof-of-Work-Prinzip basiert. Anstatt Nutzer dazu zu bringen, Bilder zu klassifizieren oder ihren Besucher-Score durch Verhaltensanalyse zu verbessern, löst der Browser des Nutzers ein kryptografisches Rechenrätsel. Das Rätsel ist für einen einzelnen Browser schnell lösbar (typisch unter einer Sekunde), für einen Bot, der Tausende Anfragen gleichzeitig senden will, wird die benötigte Rechenleistung zum wirtschaftlichen Problem.

Das entscheidende Merkmal: mCaptcha trackt Nutzer nicht und überträgt keine Daten an externe Dienste. Es lässt sich vollständig auf der eigenen Infrastruktur betreiben. Damit ist es die einzige Open-Source-CAPTCHA-Lösung, die ohne Kompromisse DSGVO-konform und ohne Abhängigkeit von Google, Cloudflare oder anderen Drittanbietern betrieben werden kann.

Kurzprofil mCaptcha

Kurzprofil mCaptcha

  • Typ: Schutzmaßnahme (CAPTCHA / Bot-Abwehr)
  • Lizenz: AGPLv3 (Open Source)
  • Mechanismus: Proof of Work (argon2-basiert)
  • Hosting: Selbst-gehostet (Docker) oder Cloud-Service (mcaptcha.org)
  • Datenschutz: Kein Tracking, keine Drittanbieter-Daten, DSGVO-freundlich
  • GitHub: github.com/mCaptcha/mCaptcha

Wie funktioniert mCaptcha?

mCaptcha nutzt Proof of Work (PoW) — ein Konzept, das ursprünglich aus dem Bereich der Kryptowährungen bekannt ist, aber auch für Bot-Abwehr geeignet ist:

Ablauf einer mCaptcha-Verifikation:

  1. Der Nutzer lädt eine Seite mit einem geschützten Formular
  2. Der Browser sendet eine Anfrage an den mCaptcha-Server: „Ich möchte eine Herausforderung erhalten"
  3. Der mCaptcha-Server antwortet mit einer Herausforderung: einem kryptografischen Rätsel (argon2-Hash mit bestimmter Schwierigkeit) und einem Einmal-Token
  4. JavaScript im Browser löst das Rätsel im Hintergrund — typisch 200–800 ms
  5. Die Lösung (der korrekte Hash) wird zusammen mit dem Formular-Submit an den Server übermittelt
  6. Der Server verifiziert die Lösung gegen den mCaptcha-Server: war die Lösung korrekt und wurde das Token noch nicht verwendet?

Warum das Bots aufhält: Ein einziger Bot könnte das PoW-Rätsel in etwa derselben Zeit lösen wie ein Browser. Aber ein Bot, der 10.000 Login-Versuche pro Minute senden will, müsste für jeden Versuch ein Rätsel lösen — das erfordert 10.000-fache Rechenleistung, was den wirtschaftlichen Angriffsvorteil massiv reduziert. Der Betreiber kann die Schwierigkeit des Rätsels dynamisch anpassen: Unter Last steigt die Schwierigkeit automatisch.

Kein Nutzer-Eingriff: Das PoW läuft vollständig im Hintergrund. Der Nutzer sieht einen kleinen Fortschrittsindikator oder gar nichts — kein Bilder-Klicken, kein Text-Abtippen.

mCaptcha in der WordPress-Praxis

mCaptcha kann in WordPress-Sites über das offizielle mCaptcha WordPress Plugin integriert werden. Das Plugin schützt:

  • wp-login.php (Login-Formular)
  • wp-signup.php (Registrierung)
  • Kommentarformulare
  • WooCommerce-Checkout (mit zusätzlicher Konfiguration)

Selbst-gehostetes Setup mit Docker:

# docker-compose.yml
services:
  mcaptcha:
    image: mcaptcha/mcaptcha:latest
    environment:
      MCAPTCHA_SERVER_URL: "https://captcha.example.com"
      MCAPTCHA_redis_url: "redis://redis:6379"
      DATABASE_URL: "postgres://user:pass@db/mcaptcha"
    ports:
      - "7000:7000"

  redis:
    image: redis:alpine

  db:
    image: postgres:14
    environment:
      POSTGRES_DB: mcaptcha
      POSTGRES_USER: user
      POSTGRES_PASSWORD: pass

Nach dem Start wird eine Site im mCaptcha-Dashboard erstellt, die einen sitekey und secret liefert — analog zu Google reCAPTCHA. Diese Werte trägt man im WordPress-Plugin ein.

Plugin-Konfiguration:

// In wp-config.php oder Plugin-Settings:
MCAPTCHA_SITE_KEY=your_sitekey
MCAPTCHA_SECRET=your_secret
MCAPTCHA_URL=https://captcha.example.com
mCaptcha vs. reCAPTCHA im Vergleich

Vergleich mCaptcha / reCAPTCHA v3

  • Datenschutz: mCaptcha — kein Tracking; reCAPTCHA — überträgt Daten an Google
  • Hosting: mCaptcha — selbst-hostbar; reCAPTCHA — Cloud-only
  • Nutzer-Erlebnis: beide — unsichtbar (kein Bilder-Klicken)
  • Mechanismus: mCaptcha — Proof of Work; reCAPTCHA — Verhaltensanalyse
  • Kosten: mCaptcha — kostenlos (selbst-gehostet); reCAPTCHA — kostenlos bis Volumenlimit
  • DSGVO: mCaptcha — konform ohne Einwilligung; reCAPTCHA — Einwilligung empfohlen

Was passiert ohne CAPTCHA-Schutz?

Ohne mCaptcha oder ein vergleichbares System sind WordPress-Formulare für automatisierte Angriffe offen. Die konkreten Risiken sind identisch mit den Risiken ohne jegliches CAPTCHA: Brute-Force auf Login, Spam-Kommentare, Massenregistrierungen.

Der spezifische Mehrwert von mCaptcha gegenüber reCAPTCHA liegt nicht in der Angriffsabwehr-Qualität (beide sind wirksam), sondern in der Datenschutz-Bilanz: Wer reCAPTCHA ohne Einwilligung einsetzt, riskiert DSGVO-Bußgelder. mCaptcha ist dieser Problematik strukturell nicht ausgesetzt.

Häufige Fragen

Ist mCaptcha genauso effektiv wie reCAPTCHA gegen Bots? Für typische automatisierte Angriffe wie Brute-Force und Spam-Bots ist mCaptcha vergleichbar wirksam. reCAPTCHA hat durch seine große Datenbasis möglicherweise Vorteile bei der Erkennung ausgefeilter Bots mit menschlichem Verhalten. Für die meisten WordPress-Seiten ist der Schutz durch mCaptcha vollständig ausreichend.

Brauche ich einen eigenen Server, um mCaptcha zu nutzen? Nein. mCaptcha betreibt einen öffentlichen Cloud-Dienst unter mcaptcha.org , der kostenlos genutzt werden kann. Der Vorteil des Selbst-Hostens liegt in der vollständigen Datenkontrolle — auch das mcaptcha.org-Cloud-Angebot sendet aber keine Tracking-Daten an Dritte, da es selbst Open-Source und DSGVO-ausgerichtet ist.

Funktioniert mCaptcha auch ohne JavaScript? Nein. Der Proof-of-Work-Mechanismus läuft vollständig in JavaScript. Nutzer mit deaktiviertem JavaScript können mCaptcha-geschützte Formulare nicht verwenden. Das ist ein bekannter Nachteil gegenüber serverbasierten Lösungen — in der Praxis betreffen deaktivierte Scripts jedoch einen verschwindend kleinen Nutzeranteil.

Verwandte Begriffe

hCaptcha
start call_