Mar 10 2007
I have forums that get thousand’s of page views per month. While the number of readers are increasing, so also are the spammers posting their ads. It got to the point that I had to switch the user registration to require the administrator to activate a new account. This can prevent the obvious spammers, i.e. those who use obscene names or add URL’s to unethical web sites.
The problem is that it’s hard to determine who is a legitimate user. Some people have crazy user names and e-mails so you can’t tell just by looking at what they enter.
After switching to admin authorization, the spam stopped but so did the user activity on the forums. I encountered this situation before and decided to go back to user authentication and delete spam as it was posted. I would spend about a half hour a day doing this, so it wasn’t such a great idea.
This blog uses Akismet to catch spam and it does so very effectively. Not one spam has been successfully posted here. I’ve tried various Akisment mods for phpBB but none of them worked. So the search for a solution continued.
After some time, I found a way to stop spam on Nadav Samet’s blog. His solution was very simple. When a new user registers on phpBB, they are asked a question that only a human can answer. Most spammers are actually automated scripts (or bots) scanning and posting messages. If you ask a question that requires intelligence, they will be unable to answer it.
The question that is asked is, what is 5+2? A spambot couldn’t answer that question. The script requires modifications of 2 files in phpBB. Its not very difficult finding the places to enter the code. The nice thing about this is that you can easily modify the question if spambots find a way to answer it.
This wouldn’t not stop a human spammer since most spam is automated. It needs to be because thousand’s of forums are being spammed. It would be too expensive to hire someone to spend time trying to bypass these tricky user registrations.
You can download the phpBB modification here.