views:

131

answers:

3

How to distinguish robots from normal user?

How does SO do this job?

Currently I'm met with a robot which post once every 1 hour...

+2  A: 

There are multiple approaches to this problem and it's a good idea to use several that overlap. One of those that SO uses is reCAPTCHA

Mike B
I think reCAPTCHA would solve your problem to the most, yet robot's are also powerful as the code written to execute them needs a great mind.
+2  A: 

Try akismet as your first line of defense. Bad Behaviour is efficient too, perhaps too efficient, as i had issues with false positives. Akismet on the other hand serves me well. Then, if necessary, add other layers not impeding on the user experience, (like using empty fields that should remain empty) and then if you really have to, other techniques involving turing test of some sorts (captcha being the worst in terms of user friendliness: try simple questions instead). Here is a good read.

pixeline
I followed the principles in good read and implemented it myself,seems good,thanks!
A: 

Make sure you've got a valid email address for anyone who posts (as per S.O.) and implement a CAPCHA on registration and when you think someone might be behaving oddly. Keep a well-trained copy of spamassassin around and feed the posts through that.

C.

symcbean
Captcha is messy. Users hate to waste time on it. Well, remember that an effective CAPTCHA is inconvenient, and convenient CAPTCHA is not effective.
TBH
Captcha is not messy, than your vauge post