The bots, which are meant for spamming, are at work all over the internet. They try to fill all the webpages with an online form, including comment forms and contact forms. It takes manual labour to remove these from the useful pages and blogs. Thankfully, there are several automated ways using scripts to stop these nuisances. In this article, I will try to guide you to a few such tricks.
Anti-spam Question: this is the simplest way actually. Add a question which only a human can answer. Add obvious questions which anybody can answer, for example "the sun rises from east or north?" is easy enough for any human to answer. Bots, however, will fail to answer this as they have no cognitive knowledge. The question should stay in the label element and should be associated with the answer input. The wrong answer can stop the spam without much scripting and coding.
There are other variations of this approach like image based questions, random questions, slider based questions.
Menu Option Matching: If the form contains a drop-down menu option, such as a 'Country' field, then you can always use this trick to prevent bots. Bots are not aware of the fact that '$posted_var' must have a pre-designated Value. In case it is a 'country' field, it should be the name of a valid country and not something arbitrary. Most bots will place values like '1' just to put something in each field. The comments can be prevented due to this mismatch.
The Honeypot Spam Trap: This is a funny way to stop the bots actually, by using their idiocy to your advantage. You can simply use a field which is hidden using 'offset class', and will not be seen by normal users. However, the bots, being a program, will be able to see this field and as their habit, put something in this field. The trick is that the script will only allow comments when this field is left empty. So, human comments will be allowed but bots will automatically get the error message.
Regulating Input Lengths: You can use this tricks by limiting the allowed length of input for any particular field. I personally think that a limit of 20 characters is sufficient for the name field. The bots, by nature, will try to fill in as much data as they can in any field. And thus, they will be stopped from posting anything.
There are of course other methods which can be used and each programmer has his or her own preference. These methods are merely some of the effective methods, used by programmers all over the world now.
Article Source: http://EzineArticles.com/7484696