Skip to content

CommentSpice 1.0 veröffentlicht

Mein lokales Repository sagt mir, dass ich meine "Plugin Spielwiese" CommentSpice vor ziemlich genau einem halben Jahr zum ersten Mal eingecheckt habe. Seit dem wurde das Plugin hier in diesem Blog und drüben bei Rowi ausgiebig getestet. Es hat keine Probleme verursacht und meine ursprüngliche Sorge, dass manuelle Kommentar Spammer durch die zusätzlichen Features angezogen würden, hat sich überhaupt nicht bestätigt. Ich habe weiterhin welche, jedoch hat keiner dieser Spammer je die zusätzlichen Linkback Features benutzt. Vermutlich liegt das auch daran, dass ich sie erst frei schalte, wenn der Kommentator vorher mindestens einen Kommentar abgegeben hat.

Auf der anderen Seite ist die Möglichkeit, die man den Kommentatoren mit CommentSpice an die Hand gibt, einen Artikel ihres eigenen Blogs mit einem Kommentar zu bewerben, in meinen Augen eine sehr schöne: Ich habe dadurch bei mir schon interessanten Input gefunden, aber auch bei Rowi drüben. Es ist ein "Win-Win" Feature: Der Leser bekommt weitere Infos und kann den Kommentator besser einordnen, der Kommentator bekommt "als Belohnung" einen weiteren Linkback auf sein eigenes Angebot. Der Twitter / Identica Link hat ähnliche Wirkung.

Was CommentSpice ist und was es alles kann sowie meine Motivation für die Erstellung des Plugins, kann in meinem ursprünglichen Artikel zu dem Plugin nachgelesen werden. Ich habe es so lange nicht veröffentlicht, da ich noch einige Funktionalität hinzu packen wollte, vor allem schwebten mit einige AnitSpam Mechanismen vor. Eine wichtige ist mittlerweile implementiert: Der Honeypot. Diese funktioniert so unvermutet gut, dass es nun Zeit wird, meinen Code zur Verfügung zu stellen. Ich habe CommentSpice bei mir seit einiger Zeit als erste AntiSpam Maßnahme konfiguriert mit dem Resultat, dass nur noch extrem wenig Spam beim Bayes ankommt. In der Tat funktioniert der Honeypot immer noch bei den meisten automatisierten Kommentar SPAM Versuchen! Ähnliche Ergebnisse melden auch Rowi und Dirk, die mitgetestet haben.

"CommentSpice 1.0 veröffentlicht" vollständig lesen

Statistiken bremsen Serendipity aus

Seit dem Umzug meines Blogs nach Uberspace fiel mir folgendes Problem auf: Wenn ich das Blog eine Zeit lang nicht besucht hatte, dann benötigte der Aufbau der Seite 10sec. Aufrufe weiterer Seiten des Blogs danach waren dann wieder so schnell wie gewohnt. Es sah so aus, als ob da etwas erst einmal "hoch fahren" musste, wenn das Blog eine Zeit lang nicht angesprochen wurde.

Der Support von Uberspace bestätigte mir, dass es so etwas in der Tat gibt: PHP wird mit FastCGI betrieben, das nach 300s ohne Aufruf einer Seite herunter gefahren wird. Im Normalbetrieb würde das aber nie passieren, da Seiten oft genug aufgerufen werden. Ich überprüfte das mit einem Cron Job, der alle 3 Minuten eine Seite meines Blogs aufrief, und in der Tat: Die Pause blieb.

Ein Blick in die Datenbank holte mir dann einen alten Verdächtigen wieder hervor: Das Statistiken Plugin. Ich hatte von diesem auch das Seitenleisten Plugin installiert, das eine kleine Statistik über aktuelle Besucher im Blog und so weiter darstellt. Wie damals war die Tabelle, die diesen Statistiken zu Grunde liegt, riesig geworden und das Plugin hatte eine Cachzeit von 10min eingestellt, nachdem es die Statistik erneut berechnet.

Ich habe die Tabelle wieder verkleinert und jetzt das Seitenleisten Plugin raus genommen und siehe da: Die 10s Verzögerung war weg. Offenbar war das die Zeit, die das Seitenleisten Plugin benötigte, um seinen Cache zu erneuern.

Mein Fazit: Da das Statistiken Plugin immer wieder Ärger macht und keine wirklich übersichtliche Statistik dabei erzeugt, habe ich es nun komplett aus meinem Blog verbannt und lasse meine Statistiken nun "extern" erzeugen. Nicht mehr mit Google Analytics (die hier schon länger nicht mehr laufen), sondern mit einem eigenen Statistik Server, für den ich jetzt Piwik installierte.

Piwik kann ich jedem nur empfehlen: Es ist super simpel zu installieren, bringt eine Übersicht, die GA in nicht vielem nachsteht, ist aber selbst gehostet, wodurch man eine bessere Kontrolle über seine Daten hat und Blogbesucher sicher sein können, dass die im Blog gesammelten Daten nicht mit Daten anderer Webangebote zusammen gerechnet werden.

Honig für Kommentar Spammer

Janek hat mich auf Google+ wieder auf etwas gebracht, was ich schon lange mal testen und implementieren wollte: Einen Honeypot für den Kommentarbereich.

Ein Honeypot (Honigtopf) ist eine ziemlich einfache Methode, um Spambots zu erkennen, die automatisiert Kommentare abgeben wollen. Obwohl diese Methode schon mindestens seit 5 Jahren im Einsatz und beschrieben ist, scheint sie laut meinen Tests immer noch sehr effektiv zu sein.

Funktionsweise

Der Honig für die Bots wird ausgelegt, indem man im Kommentar Formular eine Eingabezeile hinterlegt, die per CSS versteckt wird. Echte Besucher des Blogs, die kommentieren wollen, sehen diese Eingabe also nicht und lassen sie folgerichtig leer. Kommentar Bots haben aber die Eigenschaft, dass sie alle Eingabefelder zu füllen versuchen, um sicher zu stellen, dass der Kommentar nicht durch ein benötigtes aber leeres Feld abgewiesen wird. Eine weitere Eigenschaft ist, dass Bots nur das reine HTML auslesen und somit nicht erkennen können, dass ein Feld gar nicht sichtbar ist (wenn man dies über eine externe CSS Datei macht).

Bots müssen Kommentarfelder sogar analysieren, damit sicher gestellt ist, dass die zu bewerbende URL in der URL Eingabe ist, der Text im Kommentarfeld usw. Somit sollte die Honeypot Eingabe einen sinnvollen Namen und ein Label haben. Mein  Honigtopf fragt im Blog scheinbar die Telefonnummer ab und in der Tat füllen die Bots diese Eingabe mit Zahlenkombinationen.

Im Einsatz

Ich habe den Honeypot in mein CommentSpice Plugin eingebaut und zeichne die Resultate im Moment auf. Die Testergebnisse sind äußerst zufrieden stellend: Die Datenbank füllt sich mit Kommentaren, die von CommentSpice als Bot erkannt wurden. Die Fehleranfälligkeit (False Positives) ist technisch bedingt extrem gering, eigentlich kann der Honigtopf nur in erzwungenen Situationen falsch anschlagen.

Der Vorteil des Honigtopfes (im Vergleich zum Bayes z.B.) ist also eine sehr gute Trefferquote ohne dabei die Datenbank benutzen und unter Last legen zu müssen (wenn man das Logging ausschaltet). Ich lasse den Kommentarbereich nun also zuerst von CommentSpice überprüfen, danach vom Bayes und ganz zum Schluss vom normalen Antispam Plugin (das bisher schon nichts zu tun hatte).

Resultat: Im Bayes Papierkorb ist jetzt schon länger nichts mehr zu finden! Die Spam Kommentare, die sich dort bisher sammelten, wurden also bereits vom Honeypot abgefangen. Im Spamlog kann man das auch schön nachvollziehen. :-)

tweetbackcheck