Jan 28, 2009The second part of the checklist is about server side code and security
[More]
Dec 12, 2007Big Web 2.0 API's are restricting the amount of information for developers
[More]
Dec 12, 2007My last post about comment spam fighting resulted in a lot of e-mails from readers asking how to create their own spam fighting logic in BlogEngine.NET 1.3. So I decided to show a simple extension that listens for certain bad words and filters on those. If a comment contains one of the predefined words it is considered spam.
The extension
[Extension("Filters comments containing bad words", "1.0", "Mads Kristensen")]
public class BadWordFilter
{
// Constructor
public BadWordFilter()
{
// Add the event handler for the CommentAdded event
Post.AddingComment += new EventHandler<CancelEventArgs>(Post_AddingComment);
}
// The collection of bad words
private static readonly StringCollection BAD_WORDS = AddBadWords();
// Add bad words to the collection
private static StringCollection AddBadWords()
{
StringCollection col = new StringCollection();
col.Add("VIAGRA");
col.Add("CASINO");
col.Add("MORTAGE");
return col;
}
// Handle the AddingComment event
private void Post_AddingComment(object sender, CancelEventArgs e)
{
Comment comment = (Comment)sender;
string body = comment.Content.ToUpperInvariant();
// Search for bad words in the comment body
foreach (string word in BAD_WORDS)
{
if (body.Contains(word))
{
// Cancel the comment and raise the SpamAttack event
e.Cancel = true;
Comment.OnSpamAttack();
break;
}
}
}
}
The problem with an extension that filters based on bad words is that if you have a blog about medicine then Viagra probably isn’t a bad word. Therefore this type of spam fighting is left out of the release, but is offered as a separate download where you are able to define your own bad words.
Download BadWordFilter.zip (743 bytes)
Dec 11, 2007Using the 404 HTTP status header to fight of spam attacks
[More]
Dec 10, 2007Get starting using the provider model of ASP.NET
[More]
Nov 28, 2007Visio's sitemap feature can be dangerous if you are not prepared for it.
[More]
Oct 14, 2007Enable HTML input without disabling request validation in ASP.NET
[More]
Oct 2, 2007SQL injection attacks are performed on this site on a daily basis. Scary...
[More]
Sep 19, 2007I've never recieved as much spam as I did today. Comment, trackback and referrer spam.
[More]
Aug 8, 2007Shows that the exception is something to be happy to get. It means you're fighting spam.
[More]