markusbauer.info

Das Weblog für schöne Menschen

Spamschutz mittels Pixeltracking

Datum: 10. August 2007
Tags: ,

Spam ist bekanntlich ein ziemliches Problem. Jeder, der irgendwo ein Gästebuch oder Blog betreibt wird früher oder später zwangsläufig damit konfrontiert, dass irgendwelche Penner - oder Bots programmiert von irgendwelchen Pennern - dort unbedingt Werbung für Potenzmittel machen müssen. Was kann man tun, wenn man - wie ich - überhaupt keine Potenzmittelchen nötig hat? Hier eine Idee…

Vor etwas mehr als zwei Jahren hab ich mal - ich muss wohl zuviel Zeit gehabt haben - ein kleines Content-Management-System programmiert. Teil davon sind auch ein Gästebuch-Modul und ein Modul zum Aufbau eines simplen Weblogs. Seit knapp einem Jahr kämpfe ich nun mit Spammern, die sich in besagten Modulen verewigen wollen.

Dieses Blog hier ist bislang recht sauber, denn es basiert auf Wordpress und das bringt mit Askimet ein starkes Plugin mit, das Spam recht zuverlässigt erkennt und ausfiltert. Soweit ich weiß wird dafür ein Webservice genutzt. Vielleicht könnte man den auch aus anderen Systemen konsumieren, aber es gibt noch andere Ansätze.

Mein erster war eine Blacklist. Dort konnte ich manuell oder automatisiert Namen, Mailadressen (oder Teile davon) und Begriffe eintragen, die Spamposts identifizieren, die dann ausgefiltert werden. Das klappte eine Zeit lang recht gut, aber mit immer mehr immer anderem Spam war der Wartungsaufwand in letzter Zeit zu hoch. Eine andere Idee musste her.

Ebenfalls Teil meines CMS ist ein Tracking-Modul, das auf Pixelmessung basiert. D.h. in jeder Seite, die ein Client anfordert, ist ein Pixel oder eine kleine Grafik enthalten, die Informationen über den Besucher an den Server zurückschickt, die dann gespeichert werden und ausgewertet werden können. Da Bots, die Spam eintragen sich nicht die Mühe machen, in einer Seite enthaltene Bilder herunterzuladen, werden sie auch nicht auf diese Art erfasst, was der Datenqualität ja nur zu Gute kommt.

Die Idee ist nun, dass jeder, der sich im Gästebuch einträgt, bzw. einen Kommentar ins Blog stellt, kurz vorher ja mindestens eine Seite aufgerufen haben muss, und dadurch in der Tabelle mit den Trackingdaten enthalten ist. Mein neuer Ansatz ist also der, die IP-Adresse jedes neuen Eintrags/Posts in dieser Tabelle zu suchen. Gab es kurz vorher einen Seitenaufruf von diese IP, dann handelt es sich mit ziemlicher Sicherheit nicht um Spam.

Ob es funktioniert, wird sich in den nächsten Tagen zeigen.


7 Kommentare »

  1. Thomas schrieb am 12. August 2007

    garnich so schlechte idee, hatte auch schon eine ähnliche. und zwar habe ich auf meiner startseite ein paar zeilen eingebaut die eine art codewort, oder einfach einen wert, in die session setzen. wenn man also was ins gästebuch o.ä. schreiben will muss man über die startseite gekommen sein. falls nicht erscheint auch der hinweis vorher auf die startseite zu gehen, wofür bots zu dumm sein dürften, da die besucher aber eh im normalfall über die startseite kommen sehen diesen hinweis die meisten nicht. klappt übrigens recht gut, hatte seitdem kein spameintrag mehr im gästebuch.

    gruß thomas

  2. Markus schrieb am 12. August 2007

    Über ein “Session-Passwort” hatte ich auch nachgedacht, aber das beherrschen die Bots mittlerweile ganz gut. Der Umweg über die Startseite ist sicher eine Lösung, aber da weit über 90% meiner Besucher über Suchmaschinen kommen also Quereinsteiger sind, fände ich es nicht so gut.
    Hast du irgendeine Möglichkeit rauszufinden, ob das bei dir jemanden davon abhält, sich einzutragen?

  3. Thomas schrieb am 14. August 2007

    im moment leider nicht, ist bei mir allerdings auch kein riesen problem da es nur ein gästebuch ist. wenn man jetzt ne seite wie frag-mutti.de nimmt und die leute direkt auf ein rezept o.ä. per google geleitet werden aber dann vor nem kommentar aufgefordert werden auf die startseite zu gehen oder so ist das natürlich unpraktisch.
    wie siehts denn bei bots mit cookies aus? lassen sich da welche setzen?

  4. Markus schrieb am 20. August 2007

    Ich glaube, das machen die mittlerweile mit. Auch Sessions sind eigentlich kein Problem. Irgendwie sind die ja recht erfolgreich die offensichtlichsten Mechanismen zu umgehen.

  5. Thomas schrieb am 27. August 2007

    gibts eigentlich mittlerweile ergebnisse deines kleinen tests?

  6. Markus schrieb am 17. September 2007

    Die bisherigen Ergebnisse sind recht positiv. Zwar ist es nicht so, dass ich jeden Tag echte Gästebucheinträge kriegen würde, aber im Blog greift der Spamschutz auch und zwar zuverlässig.
    Echte Einträge kommen dennoch durch, also bin ich mit dem Ergebnis ganz zufrieden.

  7. Thomas schrieb am 7. Oktober 2007

    Wärs möglich, dass du dazu mal ne kurze Anleitung o.ä. schreibst wie in etwa du das gemacht hast? Hab die Tage übrigens nochmal was gelesen über mittels css versteckte hinweisfelder, wenn sie ausgefüllt sind(was in der regel nur ein bot macht) wird der eintrag verworfen oder auch in ner extra tabelle gespeichert zur analyse zur entwicklung oder so.
    gruß Thomas


Einen Kommentar hinterlassen

Mit * gekennzeichnete Felder sind Pflichtfelder.
Die E-Mailadresse wird nicht veröffentlicht.

« Vorheriger Eintrag Nächster Eintrag »