自用的一套PHP网络验证后端,写了挺久了,功能基本完善,开源给大家用。项目官网:https://guyiovo.github.io/GuYi-Access-wed/详细介绍和截图官网上都有,这里说重点。先说和其他验证系统最大的区别,API返回数据走的是 **AES-256-GCM加密**,AppKey本身就是加密密钥,抓包拿到的是密文,没密钥解不出来。每次请求随机IV,同样的数据加密出来都不一样,也没法重放。目前只发PHP端源码,易语言对接模块后面再发,先把服务端放出来。---**主要功能:**- AES-256-GCM 加密响应,不是明文裸奔- 云端变量,后台改完客户端实时拉取,不用重新发版(支持公开/私有两种权限)- 多应用管理,一个后台管多个软件,每个应用独立AppKey、独立卡密池、独立变量- 设备指纹绑定,一卡一机- 六种卡密类型(小时/天/周/月/季/年)- 批量制卡,支持自定义前缀,生成后直接导出TXT- 批量解绑、批量加时、批量删除、批量导出- 卡密封禁/解封- 一键清理过期卡密- 模糊搜索 + 多维筛选(按应用+类型+状态)- 登录防暴力破解(5次错误锁IP15分钟)- CSRF全覆盖、Session IP绑定、Cookie HMAC签名- API频率限制 60次/分钟/IP- 审计日志- 后台UI是毛玻璃风格,PC和手机端都做了适配- 三步安装,传上去访问install.php填数据库信息就完事,表自动建,装完install自动删---**API用法:**验证卡密:```POST /Verifyfile/api.php{ "app_key": "你的AppKey", "card_code": "卡密", "device_hash": "设备标识"}```返回加密数据:```{"encrypted_data": "base64密文..."}```客户端拿AppKey解密就能得到原始JSON(到期时间、云端变量全在里面)。只拉公开变量(不需要卡密):```POST /Verifyfile/api.php{"app_key": "你的AppKey"}```用来做公告推送、检查更新这些。**解密方法:** encrypted_data做Base64解码,前12字节是IV,接着16字节是GCM Tag,剩下的是密文。AppKey的hex转字节做密钥,AES-256-GCM解密。---**环境要求:**- PHP 7.2+、MySQL 5.6+- PDO和OpenSSL扩展- 普通虚拟主机就能跑**文件结构:**```├── install.php # 安装引导(装完自毁)├── login.php # 登录页├── cards.php # 后台管理├── config.php # 配置(安装自动生成)├── database.php # 数据库类├── index.php # 伪装404├── Verifyfile/│ ├── api.php # 验证接口(AES-256加密)│ └── captcha.php # 验证码```---更多截图和说明去官网看:https://guyiovo.github.io/GuYi-Access-wed/易语言对接端后续再发,有能力的可以根据上面的解密说明自己先对接,不复杂。源码在附件,有问题回帖说。**仅供学习交流,别拿去干违法的事。** 『来自123云盘用户GuYi的分享』GuYi Access
链接:https://www.123684.com/s/EmjGjv-P7CsH?pwd=DMJz#
提取码:DMJz
|