Kontaktformulare, Bots, Captcha & der Honeypot

Datum: 1. März 2020
Autor: Bastian
Kategorie: Code
Blog - Contact Form 7 und Honeypot

Kaum hat man ein Kontaktformular auf seiner Internetseite und schon flattern die ersten Werbebotschaften, meistens mit fragwürdigem Inhalt, in das Postfach. Warum ist das eigentlich so und was tun wir dagegen? Vielleicht sollten wir einfach die Begriffe erklären und dabei erkennen wir, wo das Problem liegt und wie wir es in den Griff bekommen. Unsere Ausgangssituation ist eine WordPress Webseite, aber das spielt keine Rolle, welches CMS wir benutzen. Die Lösungen gibt es für alle Systeme.

Kontaktformulare

Hier brauchen wir nicht weit ausholen. Ein einfaches Formular auf der Webseite mit dem E-Mails an den Seitenbetreiber gesendet werden können. Wir benutzen in unserer WordPress Umgebung den Klassiker Contact Form 7 – 5 Millionen Installationen sprechen für sich. Kontaktformulare sind zwar tw. nicht mehr so in der Mode wie früher, weil eigentlich jedes Gerät, dass eine Webseite öffnen kann auch ein Mailprogramm installiert hat, mit dem man sofort eine Mail schreiben könnte. In manchen Fällen, wo wir komplexe Daten abfragen wollen mit checkboxen, radio-buttons und natürlich Textfeldern ist ein „Kontaktformular“ immer noch hilfreich für den Nutzer, weil es strukturiert alle relevanten Daten abfragt und dem Nutzer somit ein Plus an Komfort bietet, weil hier der Aufwand eine Mail zu schreiben teilweise zu hoch wäre und zu Rückfragen führen könnte.

Bots

Unter einem Bot versteht man ein automatisiertes Computerprogramm, welches in unserem Fall nach Kontaktformularen im Internet sucht und bestimmte Nachrichten sendet. Dann kann man jeden Tag unzählige Werbemails von seinem eigenen Kontaktformular bekommen. Ein Bot läuft vollautomatisiert. Ein weiteres Beispiel für einen Bot ist z.B. der Googlebot, der den Inhalt von Webseiten an Google zurückliefert, damit wir mit der Googlesuche finden können was wir suchen.

Captcha

Ein einfacher bis sehr komplexer Test, ob es sich um Menschen oder Maschinen handelt. Hier gibt es viele Varianten, wie der Captcha umgesetzt werden kann

  • einen Code aus einem Bild in ein Feld eintragen, was der Bot nicht lesen kann
  • eine Rechenaufgabe
  • eine Aufgabe den Inhalt von Bildern wiederzugeben z.B. Welches der folgenden Bilder zeigt ein Auto?

Diese Captchas funktionieren natürlich immer nur solange, bis die Bots auch diese Aufgabe lösen können. Tatsächlich werden Bots stetig weiterentwickelt und immer klüger. Wenn eine Abwehrmaßnahme bekannt ist kann versucht werden dem Bot beizubringen diese zu meistern und dann wird wieder versucht dem Bot eine neue Aufgabe zu geben – ein ewiger Kreislauf. Bill Gates hatte sich Anfang der 2000er zu der Aussage hinreisen lassen, dass Spam in 2 Jahren eine Erscheinung der Vergangenheit ist – da lag er wohl falsch.
Wir haben das Kontaktformular Contact Form 7 in den letzten Jahren häufig mit dem Plugin Really Simple CAPTCHA (800.000 Installationen) erweitert, was einen simplen Basisschutz darstellt.
Captcha steht übrigens für „Completely Automated Public Turing test to tell Computers and Humans Apart“.

Honeypot

Honeypot ist ein Textfeld was nur der Bot sieht (im Quelltext der Seite) und das heißt zB „E-Mailadresse“, der Bot denkt ok trage ich da ne E-Mail Adresse ein. Wir legen aber als Regel fest, wenn in dem Feld was nur der Bot sieht was steht, dann verschicken wir die Mail nicht weil kein Mensch da was eintragen würde, weil er das Feld nicht sieht. Es ist also einfach eine Falle für den Bot.
Wir verwenden Honeypot for Contact Form 7 welches einfach einzurichten ist.
Der große Vorteil des Honeypots ist, dass der Nutzer des Kontaktformulars davon nichts merkt und keine nervige Sicherheitsfrage beantworten muss.