Wie schützt ihr eure Web-Formulare vor Spam-Robotern?

Ein Problem, das wohl alle kennen. Kaum hat man ein Kontakt-Formular auf der Website veröffentlicht, kommen darüber früher oder später auch unerwünschte Nachrichten von Spam-Robotern rein. Doch, wie können wir uns am besten davor schützen?

Grundsätzlich gilt, je höher der Schutz, desto grösser auch die Hürde für erwünschte Nachrichten von potenziellen Kunden.

Die Wahl des besten Spam-Schutzes für ein einfaches Kontaktformular hängt von verschiedenen Faktoren ab, wie beispielsweise der erwarteten Anzahl an Spam-Nachrichten, der Komplexität des Formulars und den technischen Kenntnissen des Entwicklers.

Honeypot-Felder

Unsere erste Wahl für Websites mit eher geringerem Aufkommen von Spam-Nachrichten über das Web-Formular. Dabei wird im Formular ein verstecktes Eingabefeld hinzugefügt, das für den Menschen unsichtbar ist, aber von Bots ausgefüllt wird.

Die Benennung des Honeypot-Feldes im HTML-Code ist ein wichtiger Aspekt bei der Implementierung eines effektiven Spamschutzes. Das Ziel ist es, das Feld so zu gestalten, dass es für menschliche Nutzer unsichtbar ist, aber für Spam-Bots attraktiv erscheint. Offensichtliche Begriffe wie "honeypot", "spam" oder "robot" sollten vermieden werden.

Vorteile: Einfach zu implementieren und belästigt den Benutzer nicht. Es muss kein extern gehosteter Code implementiert werden.

Nachteile: Kann von fortgeschrittenen Bots umgangen werden.

Honeypot-Zeit

Ein Formular oder Eingabefeld wird mit einem sehr kurzen Zeitlimit versehen. Bots füllen das Feld in der Regel sehr viel schneller (innert Millisekunden) aus, als ein echter Mensch dies tun würde.

Vorteile: Effektiv gegen einfache Bots, leicht zu implementieren.

Nachteile: Kann gelegentlich auch echte Benutzer behindern.

Captcha

Der Benutzer muss eine einfache Aufgabe lösen, um nachzuweisen, dass er kein Bot ist.

Vorteile: Sehr effektiv gegen Bots.

Nachteile: Kann für Benutzer lästig sein, insbesondere für Menschen mit Sehschwierigkeiten.

reCAPTCHA

Google bietet ein fortschrittliches Captcha-System an, das die Unterscheidung zwischen Mensch und Maschine deutlich verbessert.

Vorteile: Sehr effektiv, anpassbar, bietet zusätzliche Sicherheitsfunktionen.

Nachteile: Erfordert einen Google-API-Schlüssel und kann bei Problemen mit Google-Diensten ausfallen. Man implementiert extern gehosteten Code in der Website, was zusätzliche rechtliche Anpassungen (Datenschutzbestimmungen, Cookie-Banner, ...) erfordert.

Alternativen zu reCAPTCHA

Inzwischen gibt es mehrere Dienste, die ohne Bilderrätsel auskommen und weniger Daten erheben als reCAPTCHA. Statt einer Aufgabe für den Menschen löst meist der Browser im Hintergrund eine Rechenaufgabe (Proof-of-Work): Für einen einzelnen Besucher dauert das kaum merklich, für einen Bot, der tausende Formulare absenden will, wird es teuer. Alle drei Dienste brauchen JavaScript im Browser und eine Prüfung der Lösung auf dem eigenen Server. Die folgenden Angaben stammen aus der Dokumentation und den Datenschutzhinweisen der Anbieter (Stand Oktober 2026).

Cloudflare Turnstile

Turnstile führt im Browser eine Reihe kleiner, nicht interaktiver JavaScript-Prüfungen aus, darunter Proof-of-Work und Prüfungen von Browser-Eigenschaften. Je nach Risiko zeigt das Widget eine Checkbox an oder bleibt ganz unsichtbar. Die Website muss dafür nicht über das Netzwerk von Cloudflare laufen.

  • Datenfluss: Der Browser sendet Signale wie IP-Adresse, TLS-Fingerprint, User-Agent und die aufrufende Website an Cloudflare, ein Unternehmen mit Sitz in den USA. Für die Bot-Erkennung ist Cloudflare Auftragsverarbeiter des Website-Betreibers, für die Verbesserung der eigenen Erkennung tritt Cloudflare selbst als Verantwortlicher auf. Gespeichert werden die Daten gemäss Datenschutzerklärung vor allem in den USA und im Europäischen Wirtschaftsraum.
  • Cookies: Für normale Formulare erwähnt Cloudflare keine Cookies; ein Cookie setzt Turnstile nur bei der optionalen Vorab-Freigabe (Pre-Clearance) für Single-Page-Anwendungen.
  • Kosten: Kostenlos mit unbegrenzt vielen Prüfungen; Einschränkungen betreffen die Anzahl Widgets und Hostnamen sowie das Cloudflare-Branding. Erweiterte Funktionen gibt es im Enterprise-Plan auf Anfrage.
  • Barrierefreiheit: Laut Cloudflare konform mit WCAG 2.2 AA; die meisten Besucher müssen gar nichts tun.

Friendly Captcha

Friendly Captcha ist ein Anbieter aus Deutschland. Das Widget lädt eine kryptografische Rechenaufgabe, deren Schwierigkeit sich nach einer Risikobewertung richtet. Der Browser löst sie im Hintergrund, oft schon bevor das Formular ausgefüllt ist.

  • Datenfluss: Der Browser verbindet sich mit den Servern von Friendly Captcha, dabei wird die IP-Adresse übermittelt. Laut Anbieter wird sie vor dem Speichern mit einer Einweg-Hashfunktion anonymisiert. Friendly Captcha wirbt mit einem EU-Endpunkt und Unterauftragsverarbeitern in der EU; ausschliesslich europäische Rechenzentren sind gemäss Preisübersicht ab dem Advanced-Plan enthalten.
  • Cookies: Keine Cookies und keine dauerhafte Speicherung im Browser.
  • Kosten: Kostenpflichtige Pläne, abgestuft nach Anzahl Domains und Anfragen pro Monat. Für nicht-kommerzielle Websites mit wenig Verkehr gibt es eine kostenlose Variante.
  • Barrierefreiheit: Laut Anbieter konform mit WCAG 2.2 AA, ohne Bilderrätsel.

ALTCHA

ALTCHA ist ein quelloffenes Widget (MIT-Lizenz), das komplett auf dem eigenen Server betrieben werden kann. Der eigene Server erstellt eine signierte, einmalig gültige Rechenaufgabe, der Browser löst sie, und der Server prüft die Lösung mit einer einzigen Berechnung. Ein externer Dienst ist dafür nicht nötig. Damit eine gelöste Aufgabe nicht mehrfach verwendet werden kann, sollte der Server sie nur einmal und nur während kurzer Zeit akzeptieren.

  • Datenfluss: In der selbst gehosteten Variante verlassen keine Daten den eigenen Server. Optional gibt es mit Sentinel eine zusätzliche Risikobewertung, selbst betrieben oder als in der EU gehosteter Cloud-Dienst.
  • Cookies: Keine Cookies und kein Fingerprinting.
  • Kosten: Das Open-Source-Widget und die Server-Bibliotheken sind kostenlos. Sentinel und der Cloud-Dienst sind kostenpflichtig.
  • Barrierefreiheit: Laut Anbieter konform mit WCAG 2.2 AA, bedienbar mit Tastatur und Screenreader.

Datenschutz in der Schweiz und der EU

Sobald ein externer Dienst eingebunden wird, erhält dieser beim Laden der Seite mindestens die IP-Adresse des Besuchers. Die Datenschutzerklärung der Website sollte deshalb den Dienst, den Zweck und die Länder nennen, in die Daten gelangen. Das Schweizer Datenschutzgesetz verlangt bei einer Bekanntgabe ins Ausland die Angabe des Staates. Für Übermittlungen in die USA stützen sich Anbieter wie Cloudflare auf das Swiss-U.S. bzw. EU-U.S. Data Privacy Framework und Standardvertragsklauseln. Ein Dienst ohne Cookies und ohne Tracking braucht in der Regel keinen Cookie-Banner. Ob für die eigene Website eine Einwilligung oder ein Vertrag zur Auftragsverarbeitung nötig ist, hängt vom Einzelfall ab. Eine selbst gehostete Lösung wie ALTCHA vermeidet die Datenweitergabe ganz.

Rate Limits

Eine Schutzschicht ganz ohne Captcha: Der Server zählt, wie viele Anfragen von einer IP-Adresse in einem Zeitfenster kommen, und lehnt weitere Anfragen ab, sobald eine Grenze erreicht ist. Bei IPv6 erhält ein Anschluss meist ein ganzes Netz (/64) mit unzähligen Adressen. Deshalb sollte dort das ganze /64-Netz als ein Besucher zählen, sonst wechselt ein Bot einfach die Adresse.

Gegen Botnetze, die mit vielen IP-Adressen nur wenige Anfragen pro Adresse senden, helfen globale Grenzen über alle Besucher. Werden sie erreicht, pausiert die Funktion vorübergehend. Damit ein einzelner Angreifer nicht die globalen Grenzen für alle aufbraucht, werden die Grenzen pro IP-Adresse zuerst geprüft.

Vorteile: Unsichtbar für normale Besucher, funktioniert ohne JavaScript und ohne externen Dienst. Die IP-Adressen lassen sich gehasht und nur für die Dauer des Zeitfensters speichern.

Nachteile: Besucher hinter einer gemeinsamen IP-Adresse (z.B. ein Firmennetz) teilen sich das Kontingent. Die Grenzen müssen anhand der tatsächlichen Nutzung festgelegt und überwacht werden.

Auf actra.ch kombinieren wir Rate Limits mit Honeypot-Feldern und einer serverseitig signierten Zeitmessung und verzichten bewusst auf Captchas von Drittanbietern.

Fazit

Die beste Wahl hängt von den individuellen Anforderungen ab. Am besten bewährt sich ein Schutz in mehreren Schichten: Honeypot-Felder und eine Zeitmessung halten einfache Bots ab, Rate Limits begrenzen den Schaden, wenn ein Bot diese Hürden überwindet. Erst wenn das nicht reicht, lohnt sich ein Captcha. Dann empfehlen wir eine datenschutzfreundliche Lösung, wenn möglich selbst gehostet wie ALTCHA, oder einen Dienst ohne Cookies wie Friendly Captcha oder Cloudflare Turnstile.

Du hast eine eigene Meinung zu diesem Thema? Wir freuen uns über deinen Input über LinkedIn.

Du brauchst Unterstützung beim Schutz deiner Formulare? Kontaktiere uns.