# Responsive-Captcha **Repository Path**: wfdaj/Responsive-Captcha ## Basic Information - **Project Name**: Responsive-Captcha - **Description**: No description available - **Primary Language**: PHP - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-01-26 - **Last Updated**: 2025-09-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Responsive Captcha [![Packagist Version](https://img.shields.io/packagist/v/theodorejb/responsive-captcha.svg)](https://packagist.org/packages/theodorejb/responsive-captcha) Prevent form spam by generating random, accessible arithmetic and logic questions. Examples: * "What is the fourth letter in snowboard?" * "What is the sum of four and six?" * "What is eight multiplied by two?" * "Which is smallest: sixty-six, one hundred, or twenty-two?" Users can respond with either the numeric or textual version of an answer (e.g. "16" or "sixteen"). For background info on this project, see my blog post: https://theodorejb.me/2012/12/30/responsive-captcha/ ## Install via Composer `composer require theodorejb/responsive-captcha` ## Usage 1. Generate a random question: ```php use function theodorejb\ResponsiveCaptcha\{randomQuestion, checkAnswer}; $qa = randomQuestion(); $realAnswer = $qa->getAnswer(); // save somewhere (e.g. in session or encrypted single-use token) ``` 2. Display question in form: ```html+php ``` 3. Check whether the user's response is correct: ```php $answer = filter_input(INPUT_POST, "captcha"); if ($answer !== null) { if (checkAnswer($answer, $realAnswer)) { // code to execute if the captcha answer is correct } else { // the answer is incorrect - show an error to the user } } ```