Alex Rivera | Logout

Are you human? (or How to prevent spam)

Asked 2008-09-03T16:34:51.350
12

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?

Edit
Report

3 Answers

17

alt text

From xkcd

answered 2008-09-03T16:35:54.247
6
answered 2008-09-03T19:08:25.207
4
  • Limit the number of votes per IP address per time
  • Block anonymizing proxies.
  • For voting: How about shuffling the value that has to be returned by the form on a "per session basis". Once "1" means the first item, "2" means the second. Then "77" means the first item, "812" means the second, ... could be some simple maths behind the scene, but it prevents users from just sending the same HTTP query over and over again.
  • What's worked for me very well: Use AJAX forms, not simple HTTP forms. Technically it's not much more complicated to fake votes, but I have written a simple blog software and it's only SPAM protection mechanism is to submit the comments via AJAX - no SPAM so far.
answered 2008-09-03T16:42:17.680

Your Answer