© saicle/Shutterstock.com
PHP Magazin
Drei gegen Spam in Gästebüchern, Kommentaren und Co.

Zutritt für Spam verboten!

Unsichtbare Eingabefelder, Bayes-Filter und CAPTCHAs: Um Spam zu erkennen, gibt es verschiedene Ansätze, die jeweils Vor- und Nachteile haben. Dieser Artikel zeigt die Tricks, um Spam-Bots zu entlarven.

Carsten Eilers


Bei der sicheren Entwicklung des Gästebuchs im PHP Magazin 1.2012 ist ein Problem offen geblieben: Das Erkennen von Spam. Diese Lücke wollen wir jetzt schließen. Dazu gibt es verschiedene Ansätze, die alle Vor- und Nachteile haben. Los geht es mit einem recht einfachen Trick, mit dem sich die meisten Spam-Bots erkennen lassen. Werfen wir aber zuerst einmal einen Blick auf die Arbeitsweise eines Spam-Bots.

Spam-Bots auf die Finger geschaut

Ein Spam-Bot macht erst mal das Gleiche wie ein Suchmaschinen-Bot: Er analysiert Webseiten und sammelt alle Links zu weiteren Seiten. Während sich der Suchmaschinen-Bot aber außerdem die Inhalte ansieht, untersucht der Spam-Bot die auf der Seite enthaltenen Formulare. Erfüllt ein Formular bestimmte Anforderungen, wird es ausgefüllt und abgeschickt. Ein Bot, der Kommentare mit Spam füllen soll, sucht also gezielt nach Formularen mit den für Kommentare gebräuchlichen Feldern wie Name, E-Mail-Adresse, Link zur Homepage und Kommentar.

Honig für den Spam-Bot

Nun ist ein Spam-Bot im Allgemeinen recht simpel gestrickt; aufwändige Analysen der Seiten sind ja nicht nötig. Er muss nur zum Beispiel Kommentarformulare erkennen, mit den passenden Inhalten füllen und abschicken. Und genau an dieser Stelle kann man ansetzen. Betrachten Sie mal das Formular in Listing 1: Es gibt Eingabefelder mit den Namen name, email, homepage und text, in die der Spam-Bot seine vorgegebenen Daten einträgt. Gäbe es ein zusätzliches Feld, zum Beispiel mit dem Namen url oder mail, würde das ebenso gefüllt. Besonders einfache Spam-Bots würden sogar ein Feld mit dem Namen honeypot mit irgendetwas füllen, aber man muss ihnen ja nicht auf die Nase binden, dass sie gerade an derselben herumgeführt werden.

Listing 1

Name:

E-Mail:

Homepage:

Kommentar:

Wie lässt sich dieses Verhalten des Spam-Bots ausnutzen, um ihn zu erkennen? Jetzt wird eine weitere Beschränkung der meisten Spam-Bots ausgenutzt: Sie kümmern sich nicht um die Darstellung der Seite; Style-Informationen interessieren sie nicht. Sie füllen jedes Feld aus, selbst wenn es unsichtbar ist. Und genau darin liegt der Trick. Enthält das Formular ein unsi...

PHP Magazin
Drei gegen Spam in Gästebüchern, Kommentaren und Co.

Zutritt für Spam verboten!

Unsichtbare Eingabefelder, Bayes-Filter und CAPTCHAs: Um Spam zu erkennen, gibt es verschiedene Ansätze, die jeweils Vor- und Nachteile haben. Dieser Artikel zeigt die Tricks, um Spam-Bots zu entlarven.

Carsten Eilers


Bei der sicheren Entwicklung des Gästebuchs im PHP Magazin 1.2012 ist ein Problem offen geblieben: Das Erkennen von Spam. Diese Lücke wollen wir jetzt schließen. Dazu gibt es verschiedene Ansätze, die alle Vor- und Nachteile haben. Los geht es mit einem recht einfachen Trick, mit dem sich die meisten Spam-Bots erkennen lassen. Werfen wir aber zuerst einmal einen Blick auf die Arbeitsweise eines Spam-Bots.

Spam-Bots auf die Finger geschaut

Ein Spam-Bot macht erst mal das Gleiche wie ein Suchmaschinen-Bot: Er analysiert Webseiten und sammelt alle Links zu weiteren Seiten. Während sich der Suchmaschinen-Bot aber außerdem die Inhalte ansieht, untersucht der Spam-Bot die auf der Seite enthaltenen Formulare. Erfüllt ein Formular bestimmte Anforderungen, wird es ausgefüllt und abgeschickt. Ein Bot, der Kommentare mit Spam füllen soll, sucht also gezielt nach Formularen mit den für Kommentare gebräuchlichen Feldern wie Name, E-Mail-Adresse, Link zur Homepage und Kommentar.

Honig für den Spam-Bot

Nun ist ein Spam-Bot im Allgemeinen recht simpel gestrickt; aufwändige Analysen der Seiten sind ja nicht nötig. Er muss nur zum Beispiel Kommentarformulare erkennen, mit den passenden Inhalten füllen und abschicken. Und genau an dieser Stelle kann man ansetzen. Betrachten Sie mal das Formular in Listing 1: Es gibt Eingabefelder mit den Namen name, email, homepage und text, in die der Spam-Bot seine vorgegebenen Daten einträgt. Gäbe es ein zusätzliches Feld, zum Beispiel mit dem Namen url oder mail, würde das ebenso gefüllt. Besonders einfache Spam-Bots würden sogar ein Feld mit dem Namen honeypot mit irgendetwas füllen, aber man muss ihnen ja nicht auf die Nase binden, dass sie gerade an derselben herumgeführt werden.

Listing 1

Name:

E-Mail:

Homepage:

Kommentar:

Wie lässt sich dieses Verhalten des Spam-Bots ausnutzen, um ihn zu erkennen? Jetzt wird eine weitere Beschränkung der meisten Spam-Bots ausgenutzt: Sie kümmern sich nicht um die Darstellung der Seite; Style-Informationen interessieren sie nicht. Sie füllen jedes Feld aus, selbst wenn es unsichtbar ist. Und genau darin liegt der Trick. Enthält das Formular ein unsi...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang