Question: **What mechanisms do you know that prevent your site from being abused by anonymous spammers.**

For example, let's say that I have a site where people can vote something. But I *don't* want someone to spam something all the way to the top. So I found (a) creating an account and only allowed to vote once and (b) CAPTCHA to decrease spam. What other methods do you know and how good do they work?

Answer: 
For a CAPTCHA system, I heartily recommend [reCAPTCHA](http://recaptcha.net/learnmore.html).

Traditional computer-generated CAPTCHAs will [eventually be broken](http://www.codinghorror.com/blog/archives/001001.html) by developing a sufficiently intelligent system. For instance, [here's someone](http://www.lafdc.com/captcha/) who claims to break the Google CAPTCHA, formerly considered unbreakable, with a 30% hit rate. reCAPTCHA, by definition, shows you only images that cannot be recognized by optical character recognition.

And at the same time, your users' effort will be directed towards the common good - they help digitize books by recognizing words that cannot be recognized automatically.

See [here](http://recaptcha.net/learnmore.html) for further explanation and to try it out.
I'm a fan of the "hidden field" CAPTCHA. I don't remember where I read about it, but the idea is this:

* create your form as normal
* add an extra field but hide it (i.e. `style="display:none"` on the surrounding div or table row)
* after submission, if the field is blank, do the appropriate action (eg send an email); if the field has been filled in, then it's a robot submitter

The only case where this falls down is if the user's browser doesn't handle CSS (or they have it switched off), which is very rare.