人机验证 API
人机验证接入
提供图形验证码、人机识别和后端验证的一站式解决方案。通过简单的客户端集成和服务器端校验,帮助您的网站有效抵御机器人和恶意攻击。
1. 快速开始
1.1 准备工作
1
登录管理中心
进入后台并切换到 人机验证 服务
2
新建网站
填写网站简称及域名(支持通配符如
*.domain.com)3
获取 Key
获取前端用的
Site Key 和后端用的 API Key1.2 在线体验
2. 客户端集成
2.1 引入 SDK
在页面 </body> 之前加入以下代码:
HTML
<script src="//captcha.luosimao.com/static/js/api.js"></script>
2.2 放置验证组件
在需要出现图形验证的位置添加如下 HTML 结构:
HTML
<div class="l-captcha" data-site-key="aab758dfe65d67a418589e950ea07b05"></div>
2.3 参数说明
| 参数名 | 含义 | 参数值示例 | 说明 |
|---|---|---|---|
data-site-key |
网站 key | aab758dfe6... |
在管理中心后台获取 |
data-width |
组件宽度 | 400 或 100% |
默认自适应,设为数值或百分比 |
data-callback |
验证成功回调 | getResponse |
验证成功时自动调用此方法,并传入 response 值 |
3. 表单值传递方式
3.1 同步提交(Form 表单)
如果您的表单采用同步提交方式,Luosimao Captcha 会在表单内自动创建一个隐藏域 luotest_response,服务器端直接获取该字段值即可完成验证。
3.2 异步提交(Ajax)
有两种方式获取验证结果:
方式 A:获取隐藏域的值
HTML
<input type="hidden" id="lc-captcha-response" name="luotest_response" value="">
方式 B:通过 data-callback 获取
JavaScript
function getResponse(resp) {
console.log(resp);
// 在此处将 resp 发送给服务器进行验证
}
3.3 可用方法
JavaScript
LUOCAPTCHA.reset(); // 重置验证组件
4. 服务器端验证
4.1 接口信息
接口地址 (URL)
https://captcha.luosimao.com/site/verify请求方式
POST
4.2 请求参数
| 参数名 | 含义 | 示例值 | 说明 |
|---|---|---|---|
api_key |
网站校验 API Key | cfb758dfe65d6... |
在管理中心后台获取,注意与前端 site key 区分 |
response |
前端校验结果 | nzBuicAFfU8i... |
前端通过表单域 luotest_response 的值或 data-callback 获取 |
注意:前端获取的 response 有效时长为 300 秒(5 分钟),超过此时间验证会失败返回。
4.3 返回结果
Response — JSON
{"error": 0, "res": "success"}
| 参数 | 描述 |
|---|---|
error |
错误码(非 0 为失败) |
res |
验证结果(success 或 failed) |
msg |
错误代码描述 |
4.4 错误码
| 错误码 | 描述 |
|---|---|
0 |
验证成功 |
-10 |
API KEY 为空 |
-11 |
response 为空 |
-2x |
response 校验失败(格式错误或已过期) |
-40 |
API_KEY 使用错误,注意前端(site key)和后端(secret key)使用的 KEY 不同 |
5. 社区贡献
感谢社区开发者贡献的封装库:
- Angular Captcha: GitHub 仓库 — 来自 Edward Chen