← Journal · Archiv

Weblog Comment Spam stoppen

July 09, 2004

Da der Spam in meinem Weblog überhand nahm, so daß ich in letzter Zeit mehr beschäftigt war Kommentare von Viagraverkäufern zu löschen als Entrys zu schreiben, fühlte ich mich zu Handlungen genötigt. Ich selber war schuld daß Spambots überhaupt auf meinem Weblog Kommentare posten konnten. Es war meine Entscheidung das Movable Type 2.661 Script zu verwenden - so wie über die Hälfte der restlichen Bloggosphäre. Monokulturen sind eben unverträglich mit der Natur. Siehe Windows und seine Würmer, die Ford-Gummibaumfelder von 1910 in Brasilien und deren Ungezieferplage. Würden inkompatible Systeme verwendet, respektive unterschiedliche Gummibaumsorten angebaut, wäre es nicht möglich einen so großen Schaden anzurichten. Da auch mein Weblog Teil einer Monokultur ist war die Lösung einen Unterschied zu zu den restlichen Weblogs herzustellen.
&nsbp Die Spambots verwenden das mt-comments.cgi Script um automatisch Kommentare zu Weblog Entrys zu erstellen. Pöse pöse. Da Weblogs mit Movable Type alle die selbe Schnittstelle haben, mußte ich nun einen Unterschied schaffen. Ein direkter Zugriff auf meine Seite, die das <FORM> zum Eintragen in den Blog vornimmt, findet durch die Spambots nicht statt. Damit alle Besucher meines Blogs Kommentare schreiben können, aber die Spambots nicht, musste ich nur die Schnittstelle ändern und meiner Seite dies »mitteilen«. Das mt-comments.cgi, das für das Eintragen der Kommentare verantwortlich ist, gibt den Aufruf nur an das Perl-Modul Comments.pm weiter, das sich im Movable Type Order \lib\MT\App\ befindet. In diesem Modul fügt man unterhalb von Zeile 161 diesen Code ein:

if
(!$q->param(’spam’)) {


return $app->handle_error($app->translate(“Fuck
off, you son of a bitch.”
));
}

Somit ist es notwendig das Feld »spam« mit egal was für einem Inhalt beim Eintragen eines Kommentars mitzuliefern. Andernfalls wird der Kommentar nicht eingetragen und eine Fehlermeldung mit etwas »dirty talk« wird zurück gegeben.
  Dies geschiet nun jedoch mit allen Besuchern die einen Eintrag hinzufügen wollen. Darum muß man in das <FORM> der eigenen Seite noch das folgende Feld mit einfügen.

<input
type=“hidden”
name=“spam”
value=“Iam not a spammer”
/>

Die Besucher können kommentieren, die Spambots nicht. Solange die Spambots das Formular nicht scannen, brauche ich mir über meine Lösung keine Gedanken mehr zu machen.

14 Kommentare

martzell ·

Coole Lösung. Sollte eingebaut sein. Natürlich mit individueller ID statt “spam” je Weblog, sonst bringt es ja nichts.

Ich hoffe in Movable Type 3 hat sich das nicht großartig geändert.

Eine andere Lösung wäre das Formular als “post” und nicht “get” zu versenden und im Skript nur “post”-Eingaben zu akzeptieren.

lemming ·

Auch eine gute Idee. Was mir noch eingefallen ist, ist dass man auch nur das Script mt-comments.cgi anders benennt und das Formular darauf umleitet. Allerdings eine sehr offensichtliche Methode die auch von einem Bot erkannt werden kann.

Max ·

Sehr gute Idee, danke

kleine_katze_1 ·

Ich bekomme auch ständig solche Spam kommentare in meinen Blog gepflanzt.Aber ich versteh deine Anleitung leider nicht wirklich…bin vielleicht zu blond…schäm…Wo stell ich diesen Code ein?? Kannst du mir das bitte mal deutlicher erklären???

lemming ·

Sorry kleine_katze_1, aber dein Weblog ist kein MovableType-Weblog. Daher funktioniert dieser Trick bei dir nicht. Vielleicht redest du einmal mit deinem Provider myblog.de und schickst ihn hierher um diesen Artikel zu lesen.

kleine_katze_1 ·

Danke für den Tip. Ich werde Nico mal anschreiben.

words ·

Das einzige Problem ist daß ich nicht Movable type verwende sondern Wordpress.

funny ·

Leider werde ich momentan den Verdacht nicht los, dass Spambots mittlerweile in der Lage sind, jede Art von Online s mit den richtigen Datentypen zu befüllen und selbst
hidden values zu verarbeiten…

Klaus Langner ·

Schade, dass das Problem noch immer besteht. Spambots werden wohl nie aussterben und stets den neuen Lösungen stets einen Schritt im Voraus sein…

kirill ·

I,m solidarity

Kommentar hinterlassen