开始使用
Orbit 账户的组织方式、控制台各处的功能,以及从登录到让我们的网络开始应答一个域名的最短路径。
在表单里放一个容器,并在服务器上确认令牌。多数访客只会看到一个对勾。
<script src="https://verify.yunzheng.space/v1.js?v=1.3.0" async defer></script>
<form method="post" action="/login">
<div class="orbit-verify" data-sitekey="ovk_…" data-action="login"></div>
<button type="submit">Sign in</button>
</form>脚本会渲染页面上每一个 .orbit-verify 容器,并向其所在表单注入名为 orbit-verify-response 的隐藏字段。site key 在控制台的 Verify 页面创建。
| 属性 | 作用 |
|---|---|
data-sitekey | 必填。控制台生成的 key。 |
data-action | 标签,siteverify 会原样返回。用它区分登录与注册。 |
data-theme | auto、light 或 dark。 |
data-size | normal 或 compact。 |
data-lang | en 或 zh-CN。不设时跟随页面语言。 |
表单字段里的令牌在你确认之前没有任何价值。请在处理提交之前,在服务端确认一次。
const r = await fetch("https://verify.yunzheng.space/v1/siteverify", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
secret: process.env.ORBIT_VERIFY_SECRET,
response: req.body["orbit-verify-response"],
remoteip: req.ip,
}),
});
const v = await r.json();
// { success, challenge_ts, hostname, action, score, "error-codes": [] }
if (!v.success) return res.status(400).send("verification failed");success,还要检查 hostname 与 action。令牌只能证明有人通过了某次检查 —— 检查这两个字段,才把它绑定到你的站点上的这个表单。一个令牌只能确认一次。对同一令牌的第二次确认会失败 —— 这正是阻止提交被重放的机制。
通常不需要。检查自动完成并显示一个对勾。信号不佳时,小组件会变成一个复选框 —— 点一下即可,永远不会出现图片拼图。
不能。检查在浏览器中运行,禁用脚本的访客无法完成。如果你必须服务这类访客,请为他们保留一条非表单路径。