Blog
Kontaktformular-Spam: Honeypots, Rate-Limits & Turnstile
· 3 Min. Lesezeit
Veröffentlichen Sie ein Formular, warten Sie ein paar Tage, und die Bots finden es. Zu verstehen, wie sie vorgehen, macht die Abwehrmaßnahmen offensichtlich - und erklärt, warum die richtige Antwort mehrere Ebenen sind, nicht ein einziges nukleares CAPTCHA.
Kennen Sie Ihren Feind: drei Arten von Formular-Spam
- Dumme Crawler - Skripte, die jedes
<form>im Web finden und POSTs auf die Action-URL abfeuern. Sie füllen jedes Feld aus, das sie sehen. Das ist der Großteil des Volumens. - Gezielte Fluten - jemand (oder jemandes Botnetz), der gezielt Ihren speziellen Endpoint bombardiert, oft einfach weil er existiert.
- Menschliche Spam-Farmen - echte Menschen, die dafür bezahlt werden, Formulare auszufüllen. Selten bei Kontaktformularen; keine automatisierte Abwehr stoppt sie vollständig, und das ist in Ordnung - sie sind ein Rundungsfehler.
Jede Ebene unten entspricht einem dieser Fälle.
Ebene 1: der Honeypot (stoppt die Crawler)
Ein Honeypot ist ein zusätzliches Eingabefeld, das Menschen nie sehen - per CSS versteckt - das aber dumme Bots brav ausfüllen, weil es im Markup steht:
<input type="text" name="website" tabindex="-1" autocomplete="off"
style="position:absolute;left:-9999px" aria-hidden="true">Serverseitige Regel: Kommt dieses Feld nicht leer an, ist die Einsendung Spam. Nehmen Sie sie stillschweigend an (geben Sie 200 zurück) und verwerfen Sie sie, damit der Bot nichts lernt. Dieser eine Trick eliminiert den Großteil des Spams mit null Reibung für Menschen - kein Rätsel, kein Klick, nichts.
Details, die zählen: Geben Sie ihm einen verlockenden Namen (website, phone2), halten Sie es aus der Tab-Reihenfolge heraus, und markieren Sie es mit aria-hidden, damit Screenreader es überspringen - für die Barrierefreiheit unsichtbar, nicht nur optisch versteckt.
Ebene 2: Rate-Limiting (stoppt die Fluten)
Honeypots helfen nicht, wenn ein Bot 500-mal pro Minute gültig aussehende Daten per POST sendet. Rate-Limits pro IP und pro Formular schon: Ein echter Mensch reicht ein Kontaktformular nicht zehnmal in sechzig Sekunden ein, also geht durch das Drosseln nichts Wertvolles verloren. Die Limits sollten am empfangenden Endpoint liegen, vor Speicherung und Benachrichtigungen - sonst füllt eine Flut Ihr Postfach trotzdem, selbst wenn sie markiert ist.
Ebene 3: Turnstile (wenn der Druck eine Challenge verlangt)
Wenn ein Formular klügere Bots anzieht - Headless-Browser, die CSS rendern und Ihren Honeypot umgehen - eskalieren Sie zu einer Challenge. Cloudflare Turnstile ist die moderne Wahl: Es verifiziert Menschlichkeit über Browser-Signale und löst sich meist unsichtbar auf, ohne die Hydranten-Foto-Quizze. Der Ablauf ist Standard: Ein Widget auf Ihrer Seite erzeugt ein Token, der empfangende Server verifiziert das Token bei Cloudflare, und Einsendungen ohne gültiges Token werden abgelehnt.
Turnstile ist die Ebene, die Sie hinzufügen, wenn nötig, nicht vorbeugend - jede Challenge, so sanft sie auch sein mag, kostet ein bisschen Conversion.
Wie das aussieht, wenn es der Job von jemand anderem ist
Wenn Sie Ihren eigenen Formular-Empfänger betreiben, implementieren Sie alle drei Ebenen - und müssen sie für immer am Laufen halten. Das ist ein großer Teil dessen, wofür ein Formular-Backend da ist. Formhook liefert den Honeypot, Rate-Limits pro IP und pro Formular (Rate-Limits) und eine standardmäßig aktivierte CORS-Allowlist pro Formular, in jedem Tarif einschließlich Free; Turnstile ist eine Checkbox in den Formulareinstellungen, wenn Sie die zusätzliche Ebene wollen.
Welchen Weg Sie auch wählen, die Strategie ist dieselbe: unsichtbare Abwehrmaßnahmen zuerst, menschlich sichtbare Challenges zuletzt, und niemals ein CAPTCHA als ersten Zug.
Ein funktionierendes Formular in einer Zeile
In der EU gehostet, Einsendungen für immer aufbewahrt, Push-Benachrichtigungen in jeder Stufe.
Kostenlos startenKeine Kreditkarte · Dokumentation lesen
Weiterlesen
- Was ist ein Formular-Backend? (Und wann Sie eines brauchen)Ein Formular-Backend empfängt, speichert und leitet Ihre Formular-Einsendungen weiter - ohne eigenen Server. So funktionieren sie, wann Sie eines brauchen.
- Kontaktformular testen: die Pre-Launch-ChecklisteEin kaputtes Kontaktformular versagt lautlos und kostet wochenlang Leads. Die 15-Minuten-Checkliste: Happy Path, Validierung, Spam, Benachrichtigungen.
- Mailto-Links vs. Kontaktformulare: Was verliert weniger Leads?Mailto-Links versagen lautlos ohne E-Mail-Programm und legen Ihre Adresse für Spam-Bots offen. Wann ein Mailto genügt, wann sich ein Formular auszahlt.