Phantom 人机验证
动态显影 · Common Fate

无感人机验证
藏在噪声里的方块

Phantom 用「动态显影」视觉挑战取代传统验证码:画布上是随机噪声,只有真人通过时序积分才能看到移动方块——机器人逐帧分析只看到噪点。

按住按钮 跟随移动方块 方块停止后松开

核心机制

从视觉防御到加密传输,Phantom 在每一层都把「不信任前端」做到位。

动态显影

利用 Common Fate 视觉原理,目标方块仅在运动中被肉眼整合识别;单帧对机器人完全不可见,无法静态分析。

零前端信任

ECDH P-256 协商会话密钥 + AES-256-GCM 端到端加密,轨迹参数与提交数据全程密文,前端拿不到明文路径。

可嵌入式 SDK

一行 script 标签即可接入,用法与 reCAPTCHA 一致;提供 mount + onSuccess/onFail 回调,token 由后端核销。

在线体验

按住按钮,目光跟随方块轨迹,停止后松开。下方即真实 widget,验证结果会打印到浏览器控制台。

Phantom Widget verify + score + token

两行接入

引入 SDK,挂载到任意容器,拿到 token 后交给后端核销。

<!-- 1. 引入 SDK(构建产物 dist/phantom.js)-->
<script src="/phantom.js"></script>

<!-- 2. 挂载 widget -->
<div id="phantom-box"></div>
<script>
  Phantom.mount("#phantom-box", {
    apiBase: "/api",
    onSuccess: (r) => console.log("token =", r.token),
    onFail:   (r) => console.warn("未通过", r.detail),
  });
</script>