simple-verify 是一个极简的人机校验服务。前端两行代码,后端一次 API 调用; 用户什么都不用点——校验在他填表单时已经在后台悄悄完成。
免费档 5 个 key,调用量不限,无需信用卡。
<script src="/sv/v0/api.js" async defer></script>
<form action="/register" method="post">
<input name="email">
<div class="sv-widget" data-appid="你的 appid"></div>
<button>注册</button>
</form>
/sv/ 是你服务器上的一段反向代理(一段 nginx 配置)——
国内访客因此只与你自己的域名通信,加载更快也更稳。没有服务器就直接填
https://verify-api.loadren.com,同样能用。
from simple_verify import SimpleVerify
sv = SimpleVerify("你的 appsecret")
result = sv.verify(request.form["sv-response"], remoteip=request.remote_addr)
if not result.success:
abort(403)
浏览器后台完成一次算力挑战,把批量脚本的边际成本抬高几个数量级。
指纹被绑进挑战输入,自动化框架与伪造环境会在服务端规则里现形。
不种 cookie、不上传鼠标轨迹,行为信号只有几个计数值。
贴一个 script、一个 div,后端加一次 siteverify 调用,收工。
5 个 key、调用量不限。个人项目、独立开发者的日常用量绰绰有余。
Python / Node·TS / Go / Rust / Java,四个零依赖,行为完全一致。
访客打开页面
│ widget 自动预取挑战,Web Worker 后台求解
│ (用户正在填表单,全程无感,无需点击)
▼
表单提交 ──► 你的后端 ──► POST /api/siteverify (appsecret + token)
│
▼
{ "success": true, "score": 90 }
令牌一次性、绑定访客 IP、120 秒内有效。校验服务不可达时,你的后端自行决定 放行还是拒绝(fail-open / fail-closed),主动权始终在你手里。
检测规则在服务端热加载,出现新的绕过手法时可以在分钟级推送对策,不需要你升级任何代码。
注册账号后即可自助创建 key,随时启用、禁用、重置或删除。