
源码系统概览
文章正文
webman-turnstile 是一套专为 webman 框架设计的 Cloudflare Turnstile 人机验证插件源码,通过配置文件加静态方法调用即可完成验证码后端校验接入。
插件由开源开发者 zjkal 发布,当前版本 v1.0.0,MIT 协议开源,要求 PHP 7.4 以上,README 最后更新 2025 年 12 月,兼容 webman 1 与 2 两个大版本。
源码简介
后端验证一行静态方法搞定,check 方法返回布尔结果,verify 方法返回完整校验详情。
安装后自动生成插件配置文件,密钥、超时时间、验证地址与主机名校验均可配置。
客户端真实 IP 自动获取无需手工传参,特殊网络环境也可显式指定 IP。
异常类封装官方七类错误码判定方法,前端组件集成示例直接复制可用。
和 hCaptcha 等验证服务对比,区别在于 Turnstile 无感验证体验更好,本插件把它接进 webman 只需两步。
| 对比维度 | Webman Turnstile | hCaptcha |
|---|---|---|
| 验证体验 | 无感人机验证 | 挑战式点图 |
| 接入成本 | 配置加一行静态调用 | 自行封装请求 |
| 框架适配 | webman 双版本原生 | 通用库需适配 |
| 错误处理 | 异常类加错误码判定 | 裸数组返回 |
webman 项目的登录注册与表单要加防刷验证,装上这个插件前后端十分钟打通。
适用场景
- 登录注册接口防机器人批量注册。
- 表单提交防恶意刷接口。
- 投票与抽奖活动防脚本刷量。
- 学习 webman 插件开发与第三方验证集成。
技术栈与运行环境
插件要求 PHP 7.4 以上,兼容 webman 1.x 与 2.x,Composer 插件形式分发。
密钥在 Cloudflare 控制台申请,配置文件区分站点密钥与服务端密钥。
安装后配置文件自动生成,业务代码在表单处理处调用验证方法即可。
功能亮点
- 静态方法一键验证返回布尔或详情。
- 插件配置文件自动生成可定制。
- 客户端真实 IP 自动获取。
- 七类官方错误码异常判定方法。
- 前端 Turnstile 组件集成示例。
技术架构与部署指南
安装与部署提示
在 webman 项目根目录执行以下命令安装插件,配置文件自动生成。
composer require zjkal/webman-turnstile
在插件配置文件中填入 Cloudflare 控制台申请的服务端密钥,示例如下。
项目 README 以前后端接入说明为主未附截图,本页配图采用 GitHub 仓库社交分享卡片。
插件接入后打开含验证组件的表单页即可看到无感验证实际效果。
配置站点密钥后打开登录页即可看到人机验证组件的真实渲染与校验效果。
常见问题
问. webman-turnstile 是什么插件?
Cloudflare Turnstile 人机验证 webman 插件源码,静态方法一键接入加错误码异常判定,MIT 协议 v1.0.0。
问. 怎么安装使用?
PHP 7.4 以上执行 composer require 安装,配置密钥后在表单处理处调用 check 方法验证。
问. 和 hCaptcha 有什么区别?
hCaptcha 多为挑战式点图验证,Turnstile 无感通过率高体验更好,本插件把它原生接进 webman。
问. 调试时怎么关闭验证?
把配置文件中的 enable 改为 false 即可临时关闭,上线前记得恢复开启。
安全风险提示
对 9 个源码文件做了扫描,代码量极简全部明文可审计,未发现 webshell 与凭据硬编码。
HTTP 客户端存在一处 SSL 证书验证禁用调用,用于联调场景,生产环境建议恢复证书校验。
站点密钥与服务端密钥请通过环境变量管理,前端密钥可公开服务端密钥严禁泄露。
下载说明
本页提供 webman-turnstile 人机验证插件完整源码打包下载,含配置模板与前端示例。
压缩包解压后按 README 配置密钥即可使用,调试开关记得上线前恢复。
GitHub项目开源地址 https://github.com/zjkal/webman-turnstile