Als Webmaster einer Webseite hat man es manchmal nicht ganz so einfach. Dies ist zum Beispiel dann der Fall, wenn die heimische Webseite von Spambots heimgesucht wird, die ihren Spam zum Kauf von Viagra oder anderen lustigen Produkten in den Kommentaren hinterlassen.
Auch BlackPhantom.DE bleibt von solchen Spam-Angriffen nicht verschont. Vor ungefähr einer Woche begannen starke Spam-Angriffe auf das Kommentarsystem von BlackPhantom.DE, bei denen täglich bis zu 150 Spam-Kommentare von Spamservern aus der Ukraine, Russland, Rumänien, China und Panama gesendet wurden.
Spam-Kommentare kosten Nerven und Zeit
Das Entfernen der Kommentare aus der Datenbank kann einen Webmaster sehr viel Zeit und Nerven kosten. Besonders dann, wenn die Spambots das Captcha geknackt haben und die Spam-Kommentare direkt auf der Seite angezeigt werden. Aus diesem Grund wurde das Kommentarsystem von BlackPhantom.DE schon mal so eingestellt, dass neue Kommentare erst moderiert und freigeschaltet werden müssen.
Wenn die Captchas nicht mehr helfen
Wer glaubt, dass er mit einem einfachen Captcha vor Spambots sicher ist, der täuscht sich. Spambots sind heute ziemlich intelligent und in der Lage, den Text aus dem Captcha-Bild auszulesen, um ihn dann in das entsprechende Formularfeld einzutragen. Dabei ist es vollkommen egal, wie viele Sonderzeichen im Captcha enthalten sind. Solange man den Text an sich einwandfrei lesen kann, kommt jeder anständige Spambot durch.
Um dies zu verhindern, müsste man den Captcha-Text schon so verzerren, dass noch nicht einmal ein Mensch ihn auf einfachste Weise lesen könnte. Das bringt dem Webmaster aber dann recht wenig, da kein legitimer Besucher mehr dazu in der Lage wäre, einen Kommentar zu schreiben.
Es muss also etwas Besseres her. Etwas, das die Spambots nicht so leicht umgehen können. Als Grundvoraussetzung bietet es sich an, dass man neue Kommentare erst manuell freischalten muss, bevor sie auch tatsächlich auf der Webseite angezeigt werden. Dies könnte man jetzt noch mit einem einfachen Wortfilter kombinieren.
Bei der Spamflut auf BlackPhantom.DE befand sich im Hauptkommentar meistens das Wort "Viagra". Warum also nicht hingehen und das Wort "Viagra" in den Kommentaren komplett verbieten? Dies wurde dann so eingestellt – und schon kam kein einziger Spambot mehr durch, weil er an der if
-Abfrage des Wortfilters scheiterte. Mit einem einzigen Wort, welches nicht erlaubt ist, habe ich es geschafft, den Spam in den Kommentaren einzudämmen.
Aber diese Freude hielt leider nur 2 Tage an. Die Spambots haben gemerkt, dass sie auf einmal nicht mehr durchkamen. Erwähnen muss ich noch, dass sich die Spambots immer an einem bestimmten Artikel vergangen haben. Und an genau diesem Artikel haben sie immer versucht, Viagra-Spam zu posten. Da dies jedoch urplötzlich wegen des Wortfilters nicht mehr möglich war, mussten sie sich wohl was Neues ausdenken.
Zwei Tage danach ging es dann leider unter einem anderen Artikel weiter. Dieses Mal jedoch keine Viagra-Werbung, so dass der Wortfilter wieder nicht greifen konnte und die Kommentare meine Datenbank überfluteten.
Solange die Kommentare jedoch nicht sofort angezeigt werden, ist alles im grünen Bereich. Mit einem einzigen MySQL-Kommando kann ich alle Spam-Kommentare gleichzeitig löschen.
Und was ist mit einer IP-Sperre?
Spambots per IP-Sperre komplett auszusperren wäre ja zu einfach, um wahr zu sein. Wenn Spambots sich eine Webseite vorknöpfen, dann wird für jeden Spam-Kommentar scheinbar eine eigene IP-Adresse verwendet.
Wer jetzt denkt, dass er dann doch einfach mal den kompletten IP-Adressbereich, zum Beispiel 123.456.xxx.xxx
, sperren könnte, der hat falsch gedacht. Die Spambots kommen von komplett verschiedenen IP-Adressen und AS-Nummern. Das sind meistens auch Botnetze, die über die ganze Welt verteilt sind.
Somit fällt diese Möglichkeit wieder weg. Selbst wenn man über 300 verschiedene IP-Adressen in der .htaccess
-Datei des Apache-Webservers sperrt, kommen sie beim nächsten Mal wieder mit einer anderen Adresse. Man kann die .htaccess
-Datei also noch so vollstopfen, aber es bringt nicht viel.
Wer die entsprechenden IP-Adressen mit einem Lookup-Tool überprüft, der wird übrigens herausfinden, dass die meisten Server, die den Spam verschicken, in der Ukraine, Russland, Rumänien, Polen, Tschechien und China stehen. Diese aufgeführten Länder sind allseits bekannt für heftigen Spam. Der meiste Spam kommt aber meiner Meinung nach aus Russland, China und der Ukraine.
Welche Gegenmaßnahmen gibt es?
Wie oben bereits erwähnt ist wohl das Wichtigste, dass man Kommentare erst manuell freischalten muss. So steht man nicht ständig unter Zeitdruck, weil man Angst haben muss, dass Google zufällig die Webseite crawlt und dann externe Links zu Spamseiten entdeckt und einen abstraft.
Eine weitere Möglichkeit wäre noch, dass man, um einen Kommentar veröffentlichen zu können, eine E-Mail-Adresse angeben muss, an die ein Link geschickt wird, den man innerhalb einer bestimmten Zeit bestätigen muss.
Des Weiteren gibt es noch eine Art Honeypot-Methode. Bei dieser Methode erstellt man im entsprechenden HTML-Forumlar ein weiteres, aber unsichtbares Formularfeld, das nicht ausgefüllt werden darf. Damit der normale Besucher dieses Formular auch gar nicht ausfüllen kann, kann man es über CSS unsichtbar machen.
Ein Spambot sieht die Seite ja nicht so, wie ein normaler Besucher, sondern er sieht nur den Quellcode der Webseite. Wenn der Spambot nun hingeht und das für den normalen Besucher unsichtbare Formularfeld ausfüllt, dann hat die Falle zugeschlagen. Dies setzt natürlich voraus, dass der Spambot nicht intelligent genug ist, um dieses unsichtbare Feld zu erkennen. Diese Variante der Spambotbekämpfung habe ich allerdings selbst noch nicht ausprobiert.