Internetnutzer sind es fast schon gewohnt, auf beliebigen Webformularen verrauschte und verbogene Buchstaben-/Zahlenkombinationen zu erkennen, Rechenaufgaben zu lösen oder andere wirre Einstellungen vorzunehmen, um endlich ein simples Kontakt- oder Gästebuchformular abzuschicken. Websitebetreiber wollen so verhindern, dass Spamroboter das eigene Webformular nutzen, um Spam zu verschicken. So richtig, hat dies alles nicht geholfen und sieht auch noch unschön aus - eine innovative Lösung verspricht hier Abhilfe:
Erreicht ein Spamroboter die eigene Website und entdeckt ein Formular, so wird er wild versuchen, alle vorhandenen Felder auszufüllen. Textareas mit viel Text, Texteingabefelder mit etwas weniger, Formularfelder mit "sprechenden" Namen wie: email, name, phone oder ähnlichem mit den entsprechenden Daten.
Diese wilde Ausfüllwut macht sich der hier vorgestellte Ansatz zu nutze: In einem Formular werden ein oder mehrere Felder eingebaut, welche für den normalen Nutzer nicht sichtbar sind. Im Idealfall besitzen diese Formularfelder für den Spamroboter unwiderstehliche Namen wie "email" oder "message". Werden nun diese Felder - trotzdessen, dass sie für den normalen Besucher unsichtbar sind - ausgefüllt, kann mit Sicherheit davon ausgegangen werden, dass es sich um die Nachricht eines Spamroboters handelt. Die so aufgestellten Honigtöpfe (eng. Honeypot) sind einfach zu unwiderstehlich für einen Spamroboter.
Formularfelder sollten selbstverständlich nicht offensichtlich versteckt werden:
Mit dieser Steilvorlage werden die meisten Spamroboter schnell zurechtkommen und entsprechende Felder meiden. Besser ist eine "indirekte" Unsichtbarkeit, d.h. das Feld wird bspw. hinter ein darüberliegendes DIV oder an eine unmöglich einsehbare Position verrückt. Zusätzlich werden diese Angaben in ein separates CSS verlagert, damit der Spamroboter zur Auswertung möglich viel Zeit und Rechenleistung benötigt:
Last but not least muss mit VIO.Matrix geprüft werden, ob das betreffende Eingabefeld - trotz Unsichtbarkeit - ausgefüllt wurde. Eine simple Prüfung des betreffenden Übergabeparameters kann dies erledigen:
Das obige Beispiel wird - sofern die CSS korrekt eingebunden sind - nur ein Formularfeld anzeigen. Wird dieses ausgefüllt, erscheint der Text: "Vielen Dank für Ihre Nachricht: ...". Wird dahingegen das versteckte Formularfeld ausgefüllt, erscheint der Text: "Sie sind ein Spammer!".
Nach unserem Kenntnissstand ist diese Art der Bekämpfung von Spamrobotern sehr erfolgreich! Auch Captchas - wenn gleich es Spamroboter gibt, die diese analysieren können - sind aus unserer Erfahrung eine sichere Möglichkeit Spams zu umgehen. Zugegebenermaßen ist letztere Möglichkeit aber für den Besucher einer Website sehr unschön.
Fachbeitrag: Hilfreiche Tools zur Webentwicklung