How can you tell if the people that are spamming your forum or website are in fact bots or human spammers?

Please note that the question is not about preventing spammers. It is to determine if the people that are already spamming are bots or humans.

  • When it comes to comment spam, this is excellent: akismet.com
    – Goboozo
    Commented Apr 6, 2011 at 15:25

3 Answers 3


A best practice shows the following user friendly solution: Add a hidden field in your form. Bots will automatically complete all forms, whilst humans will not since they cannot see the hidden field. When all fields are submitted you know that its a bot and you simply won't allow submitting a message. Works great and there is no extra hassle for your website visitors.

  • I like this idea, but theoretically easy for slightly more sophisticated bots to get around! But cool idea all the same!
    – Tom Gullen
    Commented Mar 18, 2011 at 11:01
  • 1
    @Tom ... but watch what happens when the actual text field is named based upon a hash of the User-Agent string and the honeypot field is named "comments_field" ;)
    – danlefree
    Commented Mar 18, 2011 at 17:05
  • A smart spammer will examine the request made to the server during a legit content submission. He will see that the POST variables contain that hidden field. He will then proceed to replicate that hidden field in his spamming script.
    – JoJo
    Commented Mar 28, 2011 at 5:40

It is quite difficult to tell without adding further checks

I would normally add a question that a computer can't answer. Ie

"If today is Thursday, what is tomorrow?"

"What month comes before October?"


I use this technique on our forum as well as a Captcha and it has reduced the amount of spam quite considerably. Just having a Captcha wasn't enough and I was still seeing a lot of sign ups.

If your forum is being spammed, you need to also look at why it is such a nice target for spammers. Do you allow links posting for new users? Restrict this and other features that spammers love.

  • I think the question is not 'how to block spammers' but how to actually see if a comment is spam or not. Commented Mar 18, 2011 at 9:56
  • The question is how to tell human spammers apart from bot spammer. I'm buried deep with spam, even with reCAPTCHA, and I would like to figure out if they are bots bypassing the CAPTCHA or if they're actually human spammers posting by hand. This is a nice answer though, even though somewhat unrelated, and there's at least one of these things I'm going to implement. Commented Mar 18, 2011 at 10:00
  • I knew my answer was slightly off-topic as I don't think there is a way of telling if a spammer is real or not. I implemented ReCaptcha on my forum but the spam continued, although at a lower rate. How to tell if ReCaptcha has been breached or if these are humans? I don't know. All I do know is that adding that extra level of security and stopping new users from posting links has knocked them on the head completely from the day I addded these measures. Before that I had new spam everyday. Commented Mar 18, 2011 at 10:27
  • BTW, please -1 my answer if you feel it deserves it. Commented Mar 18, 2011 at 10:28

It's impossible. You can have signals to improve the likelihood they are a bot or human, but at the end of the day it's impossible to ever know with 100% certainty.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.