基于工作量证明的 安全验证解决方案

高效区分人类用户与自动化程序,提供无缝的验证体验,保护您的应用程序免受恶意攻击。

核心特性

POW验证服务提供卓越的用户体验与强大的安全保障,以下是我们的核心优势

高性能验证

优化的算法设计确保验证过程快速高效,不会给用户带来明显延迟,保持流畅的交互体验。

简单集成

提供简洁的API和现成组件,只需几行代码即可集成到任何网站或应用程序中,支持多种开发语言。

全平台支持

完美适配桌面和移动设备,响应式设计确保在各种屏幕尺寸上都能提供一致的验证体验。

实时演示

体验POW验证流程,了解它如何保护您的应用程序

安全验证组件

Token验证测试

验证统计

成功
0
失败
0
总计
0

快速集成

只需几步,即可将POW验证集成到您的应用程序中

1

引入脚本

在您的HTML页面中引入POW验证脚本

<script src="https://cha.eta.im/static/js/pow.min.js"></script>
2

添加验证组件

在需要验证的位置添加验证组件

<pow-widget 
  id="pow" 
  data-pow-api-endpoint="https://cha.eta.im/">
</pow-widget>
3

处理验证结果

监听验证事件,获取并验证Token

const widget = document.querySelector("#pow");

widget.addEventListener("pow:success", async function (e) {
  const token = e.detail.token;
  
  // 发送token到您的服务器进行验证
  const result = await fetch('/api/validate', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ token })
  });
  
  const validation = await result.json();
  console.log("验证结果:", validation);
});

API参考

使用这些API端点与POW验证服务进行交互

POST 获取挑战
https://cha.eta.im/api/challenge

响应示例

{
    "challenge": {
        "c": 32,
        "s": 64,
        "d": 4,
        "type": "simple"
    },
    "token": "2dc57d764520aa93:6c0...",
    "expires": 1756129936000,
    "riskLevel": 0
}

参数说明

challenge
包含验证挑战的详细信息:
  • c: 挑战复杂度
  • s: 挑战大小
  • d: 难度级别
  • type: 挑战类型
token
挑战的临时标识,用于后续提交解决方案
expires
挑战过期时间戳(毫秒)
riskLevel
风险等级评估,0表示低风险
POST 提交解决方案
https://cha.eta.im/api/redeem

请求体

{
    "token": "2dc57d764520aa93:6c0...",
    "solutions": [
        21320, 17774, 50250, 56396, 36725, 
        76958, 1837, 243498, 50416, 106025, 
        8850, 10662, 37296, 22473, 27994, 
        10728, 31658, 12033, 201690, 40855, 
        151510, 41374, 4158, 35288, 3058, 
        23869, 23328, 85426, 157615, 4504, 
        26680, 10784
    ]
}

响应示例

{
    "success": true,
    "message": "Success",
    "token": "2dc57d764520aa93:6c0...",
    "expires": 1756130852000
}
POST 验证Token
https://cha.eta.im/api/validate

请求体

{
    "token": "2dc57d764520aa93:6c0..."
}

响应示例

{
    "success": true,
    "message": "Token is valid",
    "validated_at": "2025-08-25 21:48:44",
    "token_prefix": "2dc57d764520aa93:6c0..."
}