|
As a working web developer with lots of experience in maintaining forums both custom and off the shelf, there's a great many things you can do to minimize the spam bots. Many of them you've probably already thought of or are working to implement, so I won't ramble on, but here are my personal faves (feel free to message me if you want/need details):
- Captcha doesn't work, especially the commercial ones because they're widely used and as such spammers work to crack them constantly. Break a mainstream Captcha service so your bot can spam it and suddenly thousand of sites become accessible, as such, a one-off solution is best because you become a niche that requires special attention. Take-away here: don't pay big bucks to subscribe to a Captcha service because just like a $1 pay-wall, the hassle of trying to decode the really hard to understand graphics of numbers and stuff usually drives plenty of REAL people away from signing up.
- Randomized natural language question & answer. This one works well because bots can't read. Use some programming logic to generate questions such as "what's the third letter from the right in the word top-right of the screen" (if you're playing along, it would be "e" in "Help"). Sometimes you can get away with just having one question. For extra points, randomize the question between a dozen or so you setup in advance. For guru points generate the questions programmatically by having the logic "scrape" your own page during the sign-up process for a random word out of a list of generated words. The more one-off the logic but that continues to be pretty "natural language" in it's query to human users, the better.
- The Honey Pot. Most spam bots sign up accounts by scraping/crawling your sign-up page and looking for telltale field names in your sign up form. It does this by checking the "name" attribute typically and us programmers are a lazy bunch if given half a chance, and will name our fields appropriately. Spam bots look for typically used language and LOVE things named "email" and "username" and so on. One VERY successful method is to setup a simple field in the sign-up form (visible because bots ARE smart enough to ignore hidden things sometimes) and give the input field the "email" name, but on screen label it "If you're human, leave this empty". Bots will enter an email address, albeit fake, because they think it's a required field, and your own programming them throws out any submissions that includes a value when a human would know not to include anything. Extra Hater Points if you send the bot a "successful registration!" screen and email just to throw the persistent bots for a loop (bots will look for words like "success" in page after trying to sign up a spam account). It should be said you should rename your ACTUAL name, email, and so on, fields to something obfuscated. I'm somewhat partial to "fleamail" or sometimes "spammersshoulddieofcancer" for "email". Should probably check all your fields and just change them to something confusing behinds the scenes.
Anyhow, somehow I rambled. But yeah, you should be able to take care of making yourself a pretty low-yield target by creating a one-off system for sure. All told it's not a ton of programming (in fact it's a very minor amount) and should solve your problem.
Best of luck and let me know if you need any advice (I'm too busy to help code... sorry, day job of doing web stuff at a start-up means I get zero free time!) :(.
Edited by aeriksson on 10/22/2012 23:04:15 MDT.
|