>> I've been using simple humanising questions: Is water wet or dry? > That's what I use also. Did a lot of research before deciding on that > solution and it's very effective, easy for the users to understand and > quick to implement. Another simple solution, which may or may not work in your case, is to add a hidden field to the form which is meant to remain empty. Since a lot of bots will automatically fill every field with garbage, you'll know that if that field has a value that it was submitted by a bot.