将 Proof of Work 验证集成到您的网站,有效防止机器人和恶意请求
在控制台创建应用,获取 Site Key 和 Secret Key
在页面中添加 POW 验证组件,获取验证 token
在服务器端使用 Secret Key 验证 token 有效性
/api/v1/pow/challenge获取 POW 挑战。参数: site_key (必须),该请求应由浏览器前端发起,浏览器会自动携带Origin。
// 响应示例
{
"status": "success",
"data": {
"id": "challenge-uuid",
"prefix": "random-prefix-string",
"difficulty": 20,
"timestamp": 1704067200,
"ttl": 60
}
}/api/v1/pow/challenge提交解决方案,获取验证 token
// 请求体
{ "id": "challenge-uuid", "nonce": "12345" }
// 响应示例
{
"status": "success",
"data": { "token": "550e8400-e29b-41d4-a716-446655440000" }
}/api/v1/pow/verify后端验证 token (需要 Secret Key)
// 请求体
{
"secret_key": "123",
"token": "550e8400-e29b-41d4-a716-446655440000"
}
// 响应示例
{
"status": "success",
"data": { valid: true }
}GET /api/v1/pow/apps:获取应用列表POST /api/v1/pow/app:创建应用POST /api/v1/pow/app/reset_secret_key:重置 Secret KeyPUT /api/v1/pow/app/update:更新应用配置与自动续费GET /api/v1/pow/resources:获取资源列表(用于新建应用时选择 resource_id)GET /api/v1/pow/count:查询每日统计GET /api/v1/pow/plans:获取套餐列表最简单的集成方式,只需添加几行 HTML 代码
<!-- SecureCloud POW Widget -->
<div id="securecloud-pow"></div>
<script src="https://dash.moe.gift/pow-widget.js"></script>
<script>
SecureCloudPOW.init({
siteKey: 'YOUR_SITE_KEY',
apiBaseUrl: 'https://api.moe.gift/api/v1',
container: '#securecloud-pow',
onSuccess: function(token) {
// 将 token 发送到您的服务器验证,不要把 token 输出到日志
submitPowToken(token);
},
onError: function(error) {
console.error('POW Error:', error);
}
});
</script>