安装与搭建教程
GuYi Access 网络验证系统的后端部署非常简单,只需一台支持 PHP 和 MySQL 的普通服务器或虚拟主机即可。
1. 环境要求
- PHP 版本:≥ 7.2
- 数据库:MySQL (需支持 PDO 扩展)
- 其他扩展:JSON 扩展 (PHP一般自带)
2. 部署步骤
- 第一步:上传源码
将本项目的全部文件上传至您服务器的网站根目录。 - 第二步:目录权限
确保网站根目录具有可写入权限(为后续生成config.php做准备)。 - 第三步:运行安装向导
打开浏览器,访问您的域名(例如http://您的域名/install.php),进入图形化安装界面。 - 第四步:配置数据库
根据页面提示填写 MySQL 数据库的主机、账号、密码、库名,并设置后台超级管理员的登录密码。 - 第五步:完成安装
点击"立即安装"。成功后,系统会自动销毁install.php文件以确保安全。此时您可以访问后台进行配置。
API 概览与鉴权
GuYi Access 提供极简的单端点API 设计。所有操作均通过向同一 URL 发送 POST 请求,并通过参数区分行为。
POST https://your-domain.com/Verifyfile/api.php
关于 AppKey鉴权机制
每一个请求都必须携带 app_key 参数。该参数是在管理后台创建应用时自动生成的 64 位十六进制字符串。它不仅用于区分应用,更是AES-256-GCM 响应加密的 32 字节核心密钥。
安全告警:千万不要将 AppKey 明文写在代码中(尤其是易语言、C# 等易被反编译的语言)。请务必使用 VMP、混淆器加固,或通过动态算法在内存中拼接。
卡密验证接口
此接口负责:验证有效性、绑定设备、更新到期时间。如果是首次使用的卡密,系统会自动将其激活并绑定传入的硬件指纹。
请求参数 (Request Body)
| 字段名 | 类型 | 约束 | 说明 |
|---|---|---|---|
app_key | String | 必传 | 64位十六进制应用密钥 |
card_code | String | 必传 | 用户输入的卡密,支持传card |
device_hash | String | 可选 | 设备唯一硬件特征的MD5。若不传则降级使用客户端 IP。 |
响应格式 (成功 / 200OK)
{
"code": 200,
"msg": "首次激活成功",
"data": {
"expire_time": "2025-12-31 23:59:59",
"variables": { "update_url": "https://..." }
}
}
"code": 200,
"msg": "首次激活成功",
"data": {
"expire_time": "2025-12-31 23:59:59",
"variables": { "update_url": "https://..." }
}
}
错误状态字典
400- 参数缺失(如未传卡密)。403- 验证失败(卡密过期、封禁、设备绑定冲突、AppKey 错误等)。429- 频率超限。
AES-256-GCM 解密规则
为了防止中间人篡改,我们的加密采用了带认证标签的 GCM 模式。
- 密文编码:Base64
- 二进制结构:
IV (12字节)+Auth Tag (16字节)+Ciphertext (剩余字节) - 解密密钥:将 64 位的
app_key字符串 Hex 解码得到 32 字节密钥。
👉 请在右侧面板中选择您的编程语言,获取完整的请求与解密源码。
心跳保活与离线容错 (企业级建议)
1. 频率限制保护
单IP 每分钟最多允许验证 60 次。触发后返回 429,严禁高频调用。
2. 心跳设计(最佳实践)
首次验证成功后将expire_time 存入内存,每隔 30 分钟 ~ 1 小时 静默验证一次。
3. 离线容错机制
网络波动时,建议允许用户在 2~6 小时宽限期 内依靠本地缓存继续使用,提升体验。