🔐 独立验证码服务 API 文档

版本: 1.0.0 | 更新时间: 2026-03-07

📌 快速测试

📖 API 接口列表

1. 生成验证码图片

URL: ?action=generate

方法: GET

返回: PNG图片 + X-Captcha-Token响应头

响应头:

Header说明
X-Captcha-Token验证码令牌(用于验证时提交)
Content-Typeimage/png
Cache-Controlno-store, no-cache(防止缓存)

JavaScript调用示例:

// 生成验证码并获取token
var captchaToken = '';
var img = document.getElementById('captcha-img');
var timestamp = new Date().getTime();

fetch('http://captcha.example.com/?action=generate&t=' + timestamp)
    .then(response => {
        // 获取token
        captchaToken = response.headers.get('X-Captcha-Token');
        return response.blob();
    })
    .then(blob => {
        // 显示图片
        img.src = URL.createObjectURL(blob);
    });

2. 验证验证码

URL: ?action=verify

方法: POST / GET

请求参数:

参数类型必填说明
tokenstring生成验证码时返回的token
codestring用户输入的验证码

响应示例(成功):

{
    "code": 200,
    "success": true,
    "message": "Verification successful"
}

响应示例(失败):

{
    "code": 400,
    "success": false,
    "message": "Verification failed"
}

JavaScript调用示例:

// 验证验证码
var userCode = document.getElementById('captcha-input').value;

fetch('http://captcha.example.com/?action=verify', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
    },
    body: 'token=' + encodeURIComponent(captchaToken) + 
          '&code=' + encodeURIComponent(userCode)
})
.then(response => response.json())
.then(data => {
    if (data.success) {
        alert('验证成功');
    } else {
        alert('验证失败');
    }
});

3. 测试服务状态

URL: ?action=test

方法: GET

返回: JSON格式的服务状态信息

🔧 配置说明

编辑 config.php 文件进行配置:

$config = [
    // CORS跨域配置
    'allowed_origins' => [
        'https://your-domain.com',
    ],
    'allow_all_origins' => false,  // 生产环境建议false
    
    // 验证码配置
    'captcha' => [
        'length' => 5,        // 验证码长度
        'width' => 150,       // 图片宽度
        'height' => 50,       // 图片高度
        'expire' => 300,      // 有效期(秒)
    ]
];

🚀 部署步骤

  1. 上传整个 captcha_service 目录到服务器
  2. 配置Nginx/Apache指向该目录
  3. 修改 config.php 中的域名白名单
  4. 确保 storage 目录可写(chmod 755)
  5. 访问 http://your-domain.com/?action=test 测试

⚠️ 注意事项

📞 技术支持

如有问题,请检查: