https://www.codegravity.com/projects/mathguard
Creating this website I attracted lots of spambots to flood my forum, my programming resources, freelance database and other forms, but you probably know this situation very well. So I decided to create a simple PHP Class which could help me and probably other people to deal with the spam.
You have probably seen this solution before on some other websites, it's nothing new, but I did it by myself and the way I wanted and I am using it everywhere it's needed.
The principle is very simple - The class inserts a small piece of HTML code into your form - an expression consisting of two random numbers, one text input field for user's answer, and one hidden field with the hashcode.
When user submits the form with the answer, the answer is being hashed and compared to the security code that has been submitted as well.
Go to the download section on this website and find there the mathguard.zip.
/* first we need to require our MathGuard class */
namespace ZexBre\MathGuard\MathGuard;
/* this condition checks the user input. Don't change the condition, just the body within the curly braces */
if (MathGuard :: checkResult($_REQUEST['mathguard_answer'], $_REQUEST['mathguard_code'])) {
echo ("Great !"); //insert your code that will be executed when user enters the correct answer
} else {
echo ("Bad answer, go back to school !"); //insert your code which tells the user he is spamming your website
}
There is also an example in the mathguard.zip. It features a simple form and one simple form handler which displays the data.
If you'd have any questions, feel free to write to the comments or directly to my email.