krowinski / one-click-captcha
这是一个简单的验证码,用户只需点击图像中的一个被切掉的小圆圈。您可以自定义圆圈、背景、图像的宽度和高度。它非常轻量,不需要js,只需在HTML和PHP GD扩展中简单填写表单。
2.0
2018-08-06 22:31 UTC
Requires
- php: >=7.1
- imagine/imagine: ^0.7.1
Requires (Dev)
- ext-xdebug: *
- phpunit/phpunit: ~7.0
README
此库可以根据用户点击小圆圈来执行验证码验证。
它渲染一个图像,在随机位置显示多个圆圈。只有一个圆圈是切掉的。
该类通过检查用户在图像上点击的位置来执行验证码验证,以确认它是否在切掉的小圆圈内。
生成的图像以PNG格式提供。渲染圆圈的值存储在会话变量中,以供后续验证。
图像和圆圈的大小及颜色是可配置的参数。
1. 使用Composer安装
composer require krowinski/one-click-captcha
2. 示例
include __DIR__ . '/../vendor/autoload.php'; error_reporting(E_ALL); $OneClickCaptchaServiceFactory = new \OneClickCaptcha\Service\OneClickCaptchaServiceFactory(); $oneClickCaptcha = $OneClickCaptchaServiceFactory->getOneClickCaptcha(); // simple demonstration! $request = isset($_GET['get_captcha']) ? $_GET['get_captcha'] : ''; if ($request === 'true') { $oneClickCaptcha->showCaptcha(); } else { if (isset($_REQUEST['position'][0], $_REQUEST['position'][1])) { if (true === $oneClickCaptcha->validate($_REQUEST['position'][0], $_REQUEST['position'][1])) { echo '<h3>You are human!!</h3>'; } else { echo '<h3>Wrong!</h3>'; } } } // this is all html you need to validate captcha echo ' <form action="example.php" method="POST"> <input type="image" src="example.php?get_captcha=true" name="position[]"/> </form> ';