sievr / rotate-captcha
简单旋转验证码
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/sievr/rotate-captcha
Requires
- php: ^8.0
This package is auto-updated.
Last update: 2025-12-21 14:06:41 UTC
README
简介
本 Composer 包为简单旋转验证码功能,提供简单易用的旋转验证码实现方案,适用于 PHP 8.0 及以上版本。
项目信息
- 名称: sievr/rotate-captcha
- 版本: 1.0.0
- 许可证: MIT
- 作者: sievr (x-sievr@qq.com)
安装
1. 使用 Composer 安装
在项目根目录下执行以下命令:
composer require sievr/rotate-captcha
2. 手动安装
将本包下载到项目中,并在 composer.json 中添加以下内容:
{
"require": {
"sievr/rotate-captcha": "1.0.0"
}
}
然后执行 composer install。
3. 简单安装
将本包下载到项目后执行 composer install。
使用方法
示例代码
以下是一个简单的使用示例(example.php):
<?php // 确保会话在使用前已启动 session_start(); require_once __DIR__ . '/vendor/autoload.php'; use sievr\RotateCaptcha\RotateCaptcha; // 替换为实际的图片路径 $backgroundImagePath = './background.png'; $blockImagePath = './block.png'; // 检查文件是否存在 if (!file_exists($backgroundImagePath)) { echo json_encode(['success' => false, 'message' => '背景图片文件不存在']); exit; } if (!file_exists($blockImagePath)) { echo json_encode(['success' => false, 'message' => '滑块图片文件不存在']); exit; } if ($_SERVER['REQUEST_METHOD'] === 'POST') { // 检查 userDegree 是否存在 if (isset($_POST['userDegree'])) { $userDegree = (int)$_POST['userDegree']; } else { echo json_encode(['success' => false, 'message' => '缺少必要参数']); exit; } // session_start(); 移除重复调用 $captcha = new RotateCaptcha($backgroundImagePath, $blockImagePath); $captcha->setCorrectDegree($_SESSION['correct_degree']); if ($captcha->verify($userDegree)) { echo json_encode(['success' => true]); } else { echo json_encode(['success' => false]); } exit; } $captcha = new RotateCaptcha($backgroundImagePath, $blockImagePath); $result = $captcha->generate(); // 存储正确角度到 session // session_start(); 移除重复调用 $_SESSION['correct_degree'] = $result['correct_degree']; ?> <!DOCTYPE html> <html> <head> <title>旋转验证码验证示例</title> <!-- 样式代码 --> </head> <body> <div class="captcha-container"> <img id="captchaImage" src="data:image/png;base64,<?php echo $result['image']; ?>" alt="验证码"> <br> <div class="slider-container"> <input type="range" id="slider" min="0" max="360" value="0"> </div> <div id="result"></div> </div> <script> // JavaScript 代码 </script> </body> </html>
步骤说明
- 初始化会话:使用
session_start()启动会话。 - 引入类库:通过
require_once __DIR__ . '/vendor/autoload.php';引入 Composer 自动加载文件。 - 创建验证码实例:
$captcha = new RotateCaptcha($backgroundImagePath, $blockImagePath); - 生成验证码:调用
$captcha->generate()生成验证码图片和正确角度。 - 验证用户输入:调用
$captcha->verify($userDegree)验证用户输入的旋转角度。
依赖说明
本包依赖于 PHP 8.0 及以上版本。
{
"require": {
"php": "^8.0"
}
}
项目结构
.
├── background.png # 旋转验证码的背景图片文件
├── block.png # 旋转验证码的滑块图片文件
├── composer.json # Composer 包管理配置文件
├── example.php # 旋转验证码的简单使用示例文件
├── example_alert.php # 可能为带提示功能的验证码示例文件
├── README.md # 项目说明文档
└── src/ # 项目源代码目录
└── RotateCaptcha.php # 旋转验证码核心功能实现类文件
贡献指南
代码贡献
暂无
问题反馈
如果发现任何问题或有改进建议,请在 Issues 中提交。
许可证
本项目采用 MIT 许可证。