Aktuelles

Zwei Zeilen Code - und Spammer bleiben draussen

Zwei Zeilen Code - und Spammer bleiben draussenJeder kennt das: Sobald auf einer Website ein Kontaktformular vorhanden ist, lassen die Spammer nicht lange auf sich warten - und ab da häufen sich zwielichtige Angebote im eigenen Posteingang: Millionenschwere Erbschaften von einem nigerianischen Großonkel, allerlei Helferlein, damit das beste Stück nicht schlapp macht - oder einfach Liebesgrüße aus Moskau. Aber auch inländische Angebote wie Chefsessel oder Werkzeugkästen gehen einem meist tierisch auf den Senkel.

Was können wir tun? Viele schalten eine kleine Matheaufgabe vor, die der geneigte Besucher zunächst erst einmal lösen muss - bevor das Formular versendet werden kann. Das ist für Spambots keine wirkliche Hürde, denn die lernen mit und können nach ein paar Fehlversuchen mühelos auch komplexere Aufgaben lösen. Und meist beschränkt sich ein solcher Sicherheitsmechanismus ohnehin nur auf die Grundrechenarten mit einstelligen, maximal zweistelligen Zahlen. Aber auch für echte Besucher sind derlei Gimmicks echt nervig.

Auch sogenannte CAPTCHAs haben nicht den besten Ruf. Zu umständlich, zu kompliziert, zu oft vertippt man sich bei der Zahlenfolge - oder die ist schlichtweg kaum lesbar. Besonders langweilig ist das Google-Tool ReCaptcha - Sie kennen das: Klicken Sie die Bilder an, auf denen ein Verkehrzeichen / ein Auto /ein Laden zu sehen sind. Zwar erkennt die KI des Tools in recht kurzer Zeit, wann ein menschlicher Akteur am Formular herumklickt - aber schön ist das alles trotzdem nicht. In beiden o.g. Szenarien besteht die Gefahr, dass Sie Ihre Besucher und Kunden vergraulen. Und die kommen u.U. nie wieder, gaaanz schlecht für Reputation und Conversion.

Dabei gibt es eine einfache Möglichkeit, den Besucher vorab einzuordnen - und ihn bei Bedarf von der Verwendung eines Kontakt- oder Bestellformulars auszuschließen. Es gibt einige Anbieter, die schwarze Listen führen, die via API eingebunden und abgerufen werden können - Stop Forum Spam ist einer davon. Um zu überprüfen, ob der Besucher unseres Formulars vielleicht nicht ganz koscher ist, wird die IP-Adresse an den Service übertragen - und der liefert ein simples "Ja" oder "Nein" zurück. Dies wiederum können wir uns mit einer simplen PHP-Funktion zu nutze machen und Spambots schlichtweg nicht mehr dahin lassen, wo sie Schaden anrichten können.

Und so funktioniert's: Wir schreiben uns einfach eine kleine PHP-Funktion, die von überall aus unserer Website aufgerufen werden kann:

public static function spam_prevention()
{
   $xml = simplexml_load_file("http://www.stopforumspam.com/api?ip=".urlencode($_SERVER['REMOTE_ADDR']));   
return ($xml->appears == "yes") ? false : true;
}

In der ersten Zeile schicken wir die Remote-Adresse des aufrufenden Servers an Stop Forum Spam, sollte der Server "blacklisted" sein, geben wir in der zweiten Zeile ein freundliches "FALSE" zurück und können statt einem Kontaktformular etwas anderes anzeigen. Und da sind der Fantasie keine Grenzen gesetzt - eine Kontaktadresse in Bildform ist ebenso möglich wie ein dicker Stinkefinger. Wobei der von einem Bot wohl nicht entsprechend erkannt wird - ein Roboter wird sich also nicht ärgern. Schade eigentlich.

Natürlich lässt sich das Ganze auch mit anderen Blacklist-Diensten realisieren, die eine entsprechend API zur Verfügung stellen. Kombinationen mit anderen Sicherheitsmaßnahmen - wie z.B. der zeitversetzte Aufruf oder eine strenge Überprüfung der versendeten Daten können das Formular hieb- und stichfest machen. Eine Vorbehandlung aller per POST oder GET übermittelten Daten ist ohnehin selbstverständlich - aber das ist ein anderes Thema.

Wenn Sie genervt sind von Formularspam, könnten die beschriebene Vorgehensweise eine wirksame Methode sein, Ihren Posteingang sauber zu halten.

Einen Nachteil hat das Ganze: Sie übermitteln personenbezogene Daten - zu denen nach DSGVO-Lesart auch die IP-Adresse eines Besuchers gehört - an einen ausländischen Dienstebetreiber. Darüber sollten Sie Ihre echten Besucher in Ihrer Datenschutzerklärung in Kenntnis setzen - und ihnen die Möglichkeit bieten, dies zu unterbinden.

Bei Fragen, bitte einfach melden!

24.05.2019

RSS Newsfeed
Alle News vom TAGWORX.NET Neue Medien können Sie auch als RSS Newsfeed abonnieren, klicken Sie einfach auf das XML-Symbol und tragen Sie die Adresse in Ihren Newsreader ein!