Gegen Formular-Spam hilft eine Kombination aus mehreren einfachen Sperren, die echte Besucher nie bemerken: ein verstecktes Feld, das nur Roboter ausfüllen, eine Mindestzeit zwischen Seitenaufruf und Absenden und eine Prüfung des Textes. Ein Rätsel, bei dem man Ampeln anklicken muss, ist nicht nötig. Wir haben das in den ersten Oktoberwochen auf unserer eigenen Seite durchgespielt, und der Weg dahin war holpriger, als er im Rückblick aussieht.
Formular-Spam und reCAPTCHA: Warum wir es losgeworden sind
Google reCAPTCHA schützt Formulare zuverlässig, lädt dafür aber Skripte von Google nach. Wer seine Seite so baut, dass sie nichts von Dritten lädt, hat damit ein Problem. Warum wir das überhaupt so halten, steht in unserem Beitrag zum Cookie-Banner. Der Blog Kopf & Stift nennt „kein Google reCAPTCHA" ausdrücklich als eine der Voraussetzungen dafür, dass eine WordPress-Seite ohne Cookie-Banner auskommt. Uns ging es genau darum. Wir haben reCAPTCHA entfernt und durch ein eigenes kleines Plugin ersetzt, das nichts nach außen schickt, keine Cookies setzt und keine Inhalte oder Adressen von Besuchern speichert.
Wie das Plugin Formular-Spam erkennt
Gegen Formular-Spam setzen wir mehrere kleine Sperren hintereinander. Beim ersten Berühren des Formulars holt die Seite einen signierten Zeitstempel vom eigenen Server. Beim Absenden wird kontrolliert:
- Ist der Beleg da und echt?
- Ist er mindestens acht Sekunden alt? Roboter senden sofort.
- Ist er höchstens drei Stunden alt und noch nie benutzt worden?
- Enthält der Text höchstens einen Link?
- Sieht der Text nach einer Sprache aus, die wir verstehen? Längere Texte ohne ein einziges deutsches Wort werden abgewiesen.
- Besteht ein einzelnes langes Wort aus zufälligen Groß- und Kleinbuchstaben, wie man es von automatisch erzeugten Anfragen kennt?
Dazu kommt das versteckte Feld, das sogenannte Honeypot. Ein Mensch sieht es nicht und lässt es leer. Ein Roboter füllt alles aus.
Was am Anfang schiefging
Die erste Version hielt nicht, was wir uns versprochen hatten. Zwei Fehler haben wir im laufenden Betrieb gefunden:
Abgelehnte Nachrichten kamen trotzdem als Mail an. Das Plugin zeigte dem Absender zwar die Meldung „vom Spamschutz abgelehnt", aber Elementor führte danach seine Aktionen trotzdem weiter aus und verschickte die Mail. Erst ein harter Abbruch an der richtigen Stelle löste das. Seitdem kommt bei einer Ablehnung keine Mail mehr an, das haben wir mit einem Zufallstext und einem Werbetext getestet.
Ein ganz normaler Link galt als zwei. Eine Adresse wie https://www.beispiel.de zählte doppelt, weil der Zähler auf „http" und auf „www" angesprungen ist. Eine normale Anfrage mit einem einzigen Link wäre abgewiesen worden. Das fiel bei einem eigenen Test auf, nicht bei einem Kunden.
Das ist der Grund, warum wir bei Spamschutz so vorsichtig sind: Jede zu scharfe Regel sperrt auch echte Kunden aus. Deshalb haben wir nach jeder Änderung selbst Test-Anfragen geschickt, gute und schlechte.
Eine Entscheidung, die nicht für jeden passt
Die Sprachprüfung ist bei uns streng. Wer uns auf Englisch schreibt, wird abgewiesen. Das ist eine bewusste Entscheidung, weil wir für Betriebe in Essen arbeiten und englische Anfragen bei uns unerwünscht sind. Für ein Hotel oder einen Betrieb mit internationalen Kunden wäre das falsch. Passen Sie die Regeln immer an Ihre Kunden an.
Wo wir heute stehen
Ob wirklich nichts mehr durchkommt, wissen wir erst nach ein paar Wochen. Die Tests sind gut ausgefallen, und die Beispiele, die uns im Oktober noch erreicht haben, werden jetzt abgewiesen. Perfekten Schutz gibt es nicht, und wir werden nachjustieren, wenn etwas Neues auftaucht.
Was Sie selbst gegen Formular-Spam tun können
Gegen Formular-Spam hilft schon wenig. Als ersten Schritt schalten Sie in Ihrem Formular die Honeypot-Option ein, wenn es sie gibt. Elementor Pro bietet sie. Das kostet nichts, bremst viele einfache Roboter und stört keinen Besucher. Kommen Mails aus dem Formular nicht an, kann es an der Mail-Einrichtung liegen, wie wir in E-Mail mit eigener Domain erklären. Wenn danach weiter Spam kommt und Sie eine Lösung ohne Google suchen, sprechen Sie uns an. Wir schauen uns an, was bei Ihnen durchkommt, und sagen Ihnen, welche Sperre dagegen hilft.
