Really Simple CAPTCHA
Really Simple CAPTCHA does not work alone and is intended to work with other plugins. It is originally created for Contact Form 7, however, you can use it with your own plugin.
Note: This product is βreally simpleβ as its name suggests, i.e., it is not strongly secure. If you need perfect security, you should try other solutions.
How does it work?
Really Simple CAPTCHA does not use PHP βSessionsβ for storing states, unlike many other PHP CAPTCHA solutions, but stores them as temporary files. This allows you to embed it into WordPress without worrying about conflicts.
When you generate a CAPTCHA, Really Simple CAPTCHA creates two files for it; one is an image file of CAPTCHA, and the other is a text file which stores the correct answer to the CAPTCHA.
The two files have the same (random) prefix in their file names, for example, βa7hk3ux8p.pngβ and βa7hk3ux8p.txt.β In this case, for example, when the respondent answers βK5GFβ as an answer to the βa7hk3ux8p.pngβ image, then Really Simple CAPTCHA calculates hash of βK5GFβ and tests it against the hash stored in the βa7hk3ux8p.txtβ file. If the two match, the answer is confirmed as correct.
How to use with your plugin
Note: Below are instructions for plugin developers.
First, create an instance of ReallySimpleCaptcha class:
$captcha_instance = new ReallySimpleCaptcha();
You can change the instance variables as you wish.
// Change the background color of CAPTCHA image to black
$captcha_instance->bg = array( 0, 0, 0 );
See really-simple-captcha.php if you are interested in other variables.
Generate a random word for CAPTCHA.
$word = $captcha_instance->generate_random_word();
Generate an image file and a corresponding text file in the temporary directory.
$prefix = wp_rand();
$captcha_instance->generate_image( $prefix, $word );
Then, show the image and get an answer from respondent.
Check the correctness of the answer.
$correct = $captcha_instance->check( $prefix, $the_answer_from_respondent );
If the $correct is true, go ahead. Otherwise, block the respondent β as it would appear not to be human.
And last, remove the temporary image and text files, as they are no longer in use.
$captcha_instance->remove( $prefix );
Thatβs all.
If you wish to see a live sample of this, you can try Contact Form 7.
| Domain | Exposures | Headers | Last Checked |
|---|---|---|---|
| a*h*a*e*o*g.com | F | 2026-04-03 03:34:38 | |
| a*r*y*.com (WP 6.9.4) | F | 2026-04-02 11:46:57 | |
| a*f*l*o.com (WP 6.3.2) | D | 2026-04-02 11:03:18 | |
| a*a*-*i*.com (WP 6.9.4) | F | 2026-04-01 03:47:15 | |
| a*o*o*.de | β | 2026-03-27 02:32:19 | |
| p*n*v*s*r*e*a*e*z*l*c*e.sk (WP 6.8.5) | β | 2026-03-26 13:04:22 | |
| t*l*s*i*a.hr | β | 2026-03-20 04:44:31 | |
| c*r*-*f*c*a*.es | β | 2026-03-19 22:08:11 | |
| s*o*c*l*e*n*a*t*n.at | β | 2026-03-19 21:40:10 | |
| m*s*e*u*u*-*a*e*i*g.de | β | 2025-11-12 06:39:25 | |
| g*s*i*-*l*a*i*g.ru | β | 2025-11-12 05:50:24 | |
| c*f*d*l*p*a*e.org | β | 2025-11-12 05:31:26 | |
| r*a*k*u*-*o*n.de | β | 2025-11-12 04:44:37 | |
| b*a*d*n*h*u*e*b*r*h*i*.de | β | 2025-11-12 04:44:37 | |
| w*a*s*n*h*r*m*g*z*n*.com | β | 2025-11-11 11:33:49 | |
| w*s*v*r*i*i*a*b*s*o*.com | β | 2025-11-11 11:25:54 | |
| w*k*e*t*a.com | β | 2025-11-11 09:54:36 | |
| v*d*-*h*r*a.com | β | 2025-11-11 07:39:33 | |
| v*n*u*r*i*s*s.com | β | 2025-11-11 07:23:46 | |
| v*g*n*r*n*l*g*s*i*.com | β | 2025-11-11 07:07:51 | |
| s*h*r*u*t*e*s*e*u*l*u*.com | β | 2025-11-10 08:47:53 | |
| p*r*i*m*p*o*e*r*.com | β | 2025-11-09 18:54:30 | |
| p*l*s*r*n*s*e*o*e*y.com | β | 2025-11-09 17:18:27 | |
| m*s*o*p*.com | β | 2025-11-09 08:23:04 | |
| m*p*a*t*r*e*s.com | β | 2025-11-09 07:56:55 | |
| m*-*t*z.com | β | 2025-11-09 07:52:47 | |
| j*r*a*a*i.com | β | 2025-11-08 10:50:52 | |
| i*d*m*w.com | β | 2025-11-08 07:45:02 | |
| g*n*i*e*v*r*o*j*.com | β | 2025-11-07 20:40:21 | |
| g*i*s*r*c*o*s.com | β | 2025-11-07 20:26:24 | |
| g*s*l*w*n*p*u*b*n*.com | β | 2025-11-07 20:06:06 | |
| c*n*r*a*d*t*v*m*j*n*o*.com | β | 2025-11-06 19:09:45 | |
| c*n*r*o*t*c*r*v*s*o.com | β | 2025-11-06 19:08:40 | |
| b*d*o*d*g.com | β | 2025-11-06 09:58:54 | |
| b*d*o*d*a*g*o*p.com | β | 2025-11-06 09:58:54 | |
| b*l*o*e*d*l*c*m*r*c*t*.com | β | 2025-11-06 08:38:49 |