Das Schweigen der Spammer

Mit der steigenen Populatität meines Weblogs war es nur eine Frage der Zeit, bis auch diverse zwielichtige Elemente begannen, häufig aufgerufene Artikel mit Spam-Kommentaren zu versehen. Bisher hatte ich diese immer händisch gelöscht, aber da waren die Kommentare schon an die Abonnenten versandt worden.

In den letzten Tage nahm dies überhand und so entschloss ich mich Akismet as Spam-Killer zu nutzen. Meine Blog-Engine legt nun jedes Kommentar diesem Webservice zur Beurteilung vor und Spams werden nicht mehr publiziert. Je mehr Informationen man Akismet über den Spam-Poster gibt, umso besser, ich schicke ihnen IP, User-Agent, Name, E-Mail oder URL und den Kommentartext.

Ich verwende die .NET Akismet API von Arne Brachold und die folgenden Zeilen Code sind alles, was nötig war. Einziges lästiges Detail war, dass ich ein WordPress Login anlegen mußte, damit ich den API Key zur Verwendung von Akismet bekomme.

Imports ArneBrachhold.Akismet  Dim mngr As New AkismetManager("mein-api-key", "http://www.drobnik.com/oliver") Dim comment As New AkismetItem(Request.UserHostAddress, Request.UserAgent) comment.AuthorName = CommentItem.creator  If CommentItem.relation.StartsWith("mailto:") Then         comment.AuthorEmail = Request.Form("email") Else         comment.AuthorUrl = Request.Form("email") End If  comment.Content = CommentItem.description.Text comment.Referer = Request.UrlReferrer.PathAndQuery comment.Type = AkismetType.Comment  Dim isSpam As Boolean = False  If mngr.IsValidKey Then         If mngr.IsSpam(comment) Then                 isSpam = True         Else                 isSpam = False         End If Else         isSpam = True End If
This entry was posted in Programming. Bookmark the permalink.