If the only benefit for spammers is having links in their posts to increase page rankings, why not require a user to have 10 legitimate posts before allowing them to add links to their posts or signature? Having a democratic ‘Report as Spam’ function (reports by x number of members would auto ban the spammer) would ensure that spammers didn’t make it to 10 posts.
Occassionally a spammer might invest the time to make 10 legit posts before spamming, but at least you’ll have taken care of the low hanging fruit. Maybe instead of 10 legit posts, the threshold could be based on a word count. If new accounts were required to post 1000 words before getting link privileges, you’d all but guarantee that the spammer would reveal their lack of understanding of the forum topic.
To argue my own suggestion, a new user could just find a post and copy/paste it as new. A big one with lots of code would get them past the threshold, and to us it would seem as though they had some knowledge of PHP or CI.
This is just a guess here, but I think most people who make their living by designing/developing for the web HATE spam with a passion. I always assume spammers are those selfish opportunists who would gladly ‘disconnect the power’ on the internet if it meant they could finally afford that boat they always wanted. Assuming this is true, I think a good community of designer/developers (like the one here at codeigniter) would probably not mind putting in a little effort to keep their resources free from spam. You guys were good enough to code the entire framework, fix bugs, write documentation, build and host these forums, and give it all away for free to the good people of these forums. Wouldn’t it only be fair that the people at Ellis could stop spending their time on spammers and let the people of these forums police themselves?
What about some sort of sponsorship system? Or what if new members needed to get positive feedback before getting link privileges? If a new member’s posts had a big bright note in the corner that said “Please sponsor me so I can obtain link privileges” and had a Digg style thumbs up/thumbs down function, it would allow forum members the ability to determine which memberships were legitimate or not. The votes could be weighted based on the voting member’s total posts, which would keep new members from promoting their own accounts.
Speaking of ‘promoting accounts’, maybe instead of normal accounts and moderators there could be stages of an account. Starting at a probationary period, several methods could be implemented in tandem that would remove the benefit of a spammer having an account.
I basically see this as a math problem. People are spamming because they see it as an easy way to promote their site and/or make an easy profit. If the ability to spam requires too much effort or time, they will seek out an easier site to spam. We basically just need to turn the dial until we find a happy medium between “TOO MUCH WORK FOR A SPAMMER” and “NOT A PROBLEM FOR A LEGITIMATE USER”. Maybe we can come up with a list of things that legitimate users WANT to do that spammers do NOT want to do and exploit it.