Cookies und Datenschutz
Wir nutzen technisch notwendige Cookies für den Betrieb der Webseite. Optional können Sie Statistik- und Marketing-Cookies erlauben. Mehr Infos in unserer Datenschutzerklärung.
![]() |
||||||||||||||||||||||||||||||||||||
Startseite Was ist ein Kontaktformular? Formular erstellen Spamschutz Formular einbinden Mails kommen nicht an? Screenshots Download Installationsanleitung Systemanforderungen & Lizenz News FAQ Erweiterung bestellen Termin buchen Newsletter Impressum Kontakt Rechnung abrufen Suche Support Board
|
Spamschutz im Kontaktformular ohne Google reCAPTCHAEin Spamschutz im Kontaktformular muss nicht von Google kommen. reCAPTCHA lädt ein Script von Google-Servern, und Captchas mit Bilderrätseln kosten Ihre Besucher Zeit oder sperren manche Menschen ganz aus. Gegen einfache Spam-Bots helfen auch drei Prüfungen, die nur auf Ihrem eigenen Server laufen: ein CSRF-Token, ein verstecktes Honeypot-Feld und eine Zeitprüfung. Hier finden Sie die drei Methoden mit Codebeispielen, einen Vergleich mit Captcha, Wortfilter und reCAPTCHA und die Grenzen aller Verfahren. Wie Spam ins Kontaktformular kommtWas ein Spamschutz im Kontaktformular leisten muss, hängt davon ab, wer das Formular missbraucht. Ein ungeschütztes Formular ist für Spammer eine Werbefläche, für die sie nichts bezahlen. Programme, sogenannte Spambots, füllen Formulare automatisch mit Werbetext und Links und schicken sie in großer Zahl ab. Die einfachsten Spambots senden ihre Daten direkt an die Adresse aus dem Dazu kommt ein zweiter Missbrauch. Schickt das Formular dem Absender eine Bestätigung, kann ein Spammer eine fremde Adresse eintragen und Werbung in das Namensfeld schreiben. Die Bestätigungsmail trägt sie dann von Ihrem Server aus zu Menschen, die das Formular nie benutzt haben. Die Klassiker: Captcha und WortfilterZwei Verfahren für den Spamschutz im Kontaktformular gibt es seit vielen Jahren. Das Captcha stellt dem Absender eine Aufgabe, der Wortfilter prüft den Text. Wie ein Captcha funktioniertEin Captcha soll eine Aufgabe stellen, die Menschen leichtfällt und Computern schwer. Die klassische Form ist ein Bild mit zufälligen Buchstaben und Zahlen, verzerrt und mit Mustern im Hintergrund verfremdet. Erst wer die Zeichen richtig abtippt, kann absenden. Wie sich ein Bild-Captcha mit Perl einbauen lässt, beschreibt die Anleitung Captcha mit Perl auf cgi-webspace.de. Was Captchas Ihre Besucher kostenJedes Captcha verlagert Arbeit vom Betreiber auf den Besucher. Je stärker die Zeichen verfremdet sind, desto eher braucht man einen zweiten Versuch. Luis von Ahn von der Carnegie Mellon University rechnete 2007 mit 60 Millionen oder mehr gelösten Captchas am Tag zu je etwa zehn Sekunden, zusammen mehr als 150.000 Stunden täglich. Cloudflare kam 2021 nach eigenen Daten auf durchschnittlich 32 Sekunden pro Captcha. Schwerer wiegt die Barrierefreiheit. Laut dem W3C-Dokument Inaccessibility of CAPTCHA schließen solche Aufgaben viele Menschen mit Behinderung aus. Als Beispiel nennt es Menschen, die blind oder sehbehindert sind oder eine Legasthenie haben und verzerrte Zeichen in einer Grafik entziffern sollen. Audio-Captchas als Ersatz hält das W3C bei kognitiven Einschränkungen für eine schlechte Wahl. Wortfilter mit gesperrten WörternEin Wortfilter, auch Wordlist genannt, prüft nicht den Absender, sondern den Text. Steht ein Wort aus Ihrer Sperrliste in der Nachricht, schickt das Formular sie nicht ab und zeigt eine Fehlermeldung. Als einziges Verfahren in diesem Ratgeber erwischt der Wortfilter auch Werbung, die ein Mensch eingetippt hat. Der Haken ist die Liste. Ist sie zu kurz, rutscht Spam durch, ist sie zu streng, trifft sie ehrliche Anfragen. Für unser Kontaktformular-Script gibt es Captcha und Wortfilter als kostenpflichtige Module für jeweils einmalig 30 Euro inklusive Mehrwertsteuer, zu bestellen über das Bestellformular. Das Gästebuch-Script bietet beide ebenfalls als Zusatzmodule an und zeigt neue Einträge zudem erst nach Ihrer Freigabe. Was Google reCAPTCHA technisch machtBei Google reCAPTCHA findet die Prüfung nicht auf Ihrem Server statt, sondern bei Google. Die folgenden Angaben stammen aus Googles Dokumentation (Stand Oktober 2026), in der reCAPTCHA inzwischen zum Angebot „Google Cloud Fraud Defense“ gehört.
Dazu setzt reCAPTCHA ein Cookie namens Welche rechtlichen Folgen das für Ihre Website hat, ist nicht Thema dieses Ratgebers. Technisch ist der Unterschied klar. Bei reCAPTCHA gehen Daten Ihrer Besucher an Google, der Spamschutz im Kontaktformular aus dem nächsten Abschnitt bleibt auf Ihrem Server. Spamschutz im Kontaktformular ohne Captcha: drei PrüfungenEin Spamschutz im Kontaktformular ohne fremden Dienst braucht nur PHP und dessen Sessions, also Sitzungsdaten, die auf dem Server liegen. Jede der drei Prüfungen fängt eine andere Sorte Bot ab, deshalb lohnt sich die Kombination. In einem echten Script stehen sie hintereinander in derselben Datei. CSRF-Token: Absendungen von fremden Seiten abweisenEin CSRF-Token ist eine Zufallszeichenfolge, die Ihr Script beim Ausliefern des Formulars erzeugt, in der Session speichert und als verstecktes Feld ins Formular schreibt. Beim Absenden vergleicht es den mitgeschickten Wert mit dem gespeicherten.
Der Token stoppt Bots, die blind Daten an Ihr Script schicken, und Absendungen, die von fremden Websites aus angestoßen werden. Ein Bot, der das Formular vorher lädt, bekommt dagegen wie jeder Besucher einen gültigen Token. Honeypot: ein Feld, das nur Bots ausfüllenEin Honeypot (Honigtopf) ist ein zusätzliches Eingabefeld, das Menschen nicht sehen. Bots, die jedes Feld ausfüllen, tragen dort etwas ein und verraten sich damit. Das W3C führt Honeypots als Alternative auf, die vom Nutzer nichts verlangt, und auch das Umfrage-Script auf php-space.info hält Bots mit einem versteckten Feld fern.
Auf vier Einzelheiten kommt es an.
Wie Formularfelder und Labels grundsätzlich aufgebaut sind, erklärt die Anleitung HTML-Formular erstellen. Bots, die einen echten Browser steuern oder für ein bestimmtes Formular geschrieben wurden, können das Feld erkennen und leer lassen. Zeitprüfung: zu schnelle Absendungen erkennenEin Mensch braucht für Name, Adresse und Nachricht eine Weile, ein einfacher Bot kann das Formular im selben Moment abschicken, in dem er es geladen hat. Die Zeitprüfung merkt sich deshalb beim Ausliefern die Uhrzeit und lehnt Nachrichten ab, die schneller zurückkommen als eine Mindestzeit.
Die Startzeit gehört in die Session und nicht in ein verstecktes Feld, denn dort könnte ein Bot jeden beliebigen Wert eintragen. Setzen Sie die Mindestzeit nicht zu hoch, sonst trifft sie Besucher, deren Browser Name und Adresse automatisch einträgt. Zeigen Sie in einem echten Script statt Die Verfahren im VergleichWelcher Spamschutz im Kontaktformular passt, hängt davon ab, welcher Spam bei Ihnen ankommt. Die Tabelle zeigt, was jedes Verfahren von Ihren Besuchern verlangt, wogegen es hilft und ob Daten an einen fremden Dienst gehen.
Die drei unsichtbaren Prüfungen ergänzen sich. Der Token fängt die blinden Absendungen, der Honeypot die eifrigen Ausfüller, die Zeitprüfung die Schnellen. Gegen Werbung von Menschen hilft nur der Wortfilter. So setzt das Kontaktformular-Script 2.52 das umAb Version 2.52 steckt der Spamschutz im Kontaktformular-Script selbst, ohne Zusatzmodul und ohne fremden Dienst. Die Prüfungen laufen in Im Einzelnen arbeitet das Script so.
Hintergrund der Namensprüfung ist die Bestätigungsmail. Sie geht an die Adresse, die im Formular steht, und enthält Vor- und Nachname. Ohne die Prüfung könnte jemand eine fremde Adresse eintragen und über Ihr Formular Werbung verschicken. Den Nachrichtentext enthält die mitgelieferte Vorlage der Bestätigung nicht. Wer gar keine Bestätigung verschicken möchte, schaltet sie im Installer ab. Schlägt eine Prüfung an, bleibt das Formular mit den Eingaben stehen und zeigt eine Meldung. Für den Spamschutz lädt das Script nichts von fremden Servern, und keine Formulardaten gehen an einen Prüfdienst. Eingerichtet wird alles im Browser über Was kein Verfahren abfängtKein Spamschutz im Kontaktformular hält jeden Spam auf, auch nicht mehrere Verfahren zusammen. Wer gezielt Ihr Formular angreift, lädt die Seite, lässt das Honeypot-Feld leer und wartet ein paar Sekunden. Dann passiert er Token, Honeypot und Zeitprüfung ohne Mühe. Gegen Werbung, die ein Mensch von Hand eintippt, hilft auch ein Captcha nicht, denn diese Aufgabe löst ein Mensch ohne Weiteres. Umgekehrt können die Prüfungen echte Besucher treffen. Wer das Formular so lange offen lässt, dass die Session abläuft, muss noch einmal senden. Wer sehr schnell ist, sieht den Hinweis der Zeitprüfung, behält aber seine Eingaben und kann nach einem Moment erneut absenden. Stillschweigend verwirft das Script dabei nichts, der Absender bekommt immer eine Meldung. Erscheint die Erfolgsmeldung und trotzdem kommt keine Mail an, liegt es am Versand. Die Ursachen dafür stehen im Ratgeber Kontaktformular verschickt keine Mails. Häufige Fragen zum Spamschutz im KontaktformularKurze Antworten zu reCAPTCHA, Mindestzeit, Namensprüfung und älteren Designs.
|
|||||||||||||||||||||||||||||||||||