Putting an end to spam with bBlog
It took quite a while after I put up my blog before the spammers found it. But once they did they have been relentless. They clog it up every day with tons of comment spam and trackback spam. I've been going back to the bBlog site periodically checking for an update, but it seems that bBlog development ceased back in July of 2005.
Sure, I could switch to some other blog software, but the reason I went with bBlog was because of the simplicity. I don't really want to try to figure out how some other blog works, much less figure out how to import all the entries I've already made into some other package.
On the bBlog forums there's lots of threads about suggestions for dealing with spam, but I didn't really see any easy solutions. Lots of people talking about installing a ton of other packages to do captchas and then hand patching a ton of files to make it work. Didn't really appeal to me so I've never hassled with it.
Trying to block spammers by IP is a waste of time. They all use open proxies and use tons of different IPs. Yesterday I was bombarded with over 50 spams and they came from 25 or more different IPs.
I finally got fed up enough I decided to do something about it. To block comment spam I did something very simple: I just renamed all the fields to something else. I seriously doubt any spammer is going to take the time to modify his generic spambot to parse my forms. If they do, I'll deal with it then.
For trackback spam I had to do something just slightly more sophisticated. I added a quick&dirty function that will go out and fetch the URL that has been passed and check it for a link to the blog entry they claim they are talking about. No link, no trackback.
I've setup a cgi script which will randomize the field names in the patch. Click here to download. Here is the test shell script. Once you've downloaded it you can apply it. Also make sure you make the trackback-test.sh script executable.