Access Control
Documentation
GuYi v4.0 是一套专为现代 Web 应用设计的轻量级权限验证系统。它摒弃了复杂的数据库配置,采用 SQLite 架构,实现了真正的“上传即用”。
Zero-Config DB
无需安装 MySQL,系统自动初始化 SQLite 数据库。
Device Fingerprint
强设备绑定机制,杜绝卡密共享与多端登录。
快速部署
1. 上传文件
将下载的源码包完整解压到服务器根目录或子目录中。推荐环境:Nginx + PHP 7.4+。
2. 设置权限 (关键)
SQLite 需要写入权限才能自动创建数据库。请确保 /data 目录可写。
cd /www/wwwroot/your-site.com
# 授予 data 目录读写权限
chmod -R 755 ./data
3. 初始化
直接访问后台 http://your-domain/cards.php,系统将自动完成初始化。
PHP 页面接入
请将此代码添加在您需要保护的页面的最顶部(在任何 HTML 输出之前)。
例如,您有一个核心内容页 vip_content.php,接入代码如下:
// 1. 引入核心验证文件
require_once 'auth_check.php';
// 2. 执行权限检查 (未通过会自动跳转回登录页)
checkAuth();
?>
<!-- 下面是您的正常页面内容 -->
<!DOCTYPE html>
<html>
...
前端跳转配置
当用户在首页 (index.php) 验证成功后,JavaScript 需要知道跳转到哪个文件。
请打开 index.php,搜索 index1.php,并将其替换为您实际的受保护文件名。
API 接口文档
系统提供标准 RESTful 风格接口。所有请求均支持 GET/POST 方法。
为了确保安全性,请务必在客户端本地计算机器码,不要直接发送明文硬件信息。
| 参数名 | 必填 | 说明 |
|---|---|---|
| card | 是 | 用户输入的卡密字符串 |
| device | 是 |
设备特征码的 MD5 值。 建议算法: MD5(CPU序列号 + 硬盘序列号) |
调用代码示例
.支持库 spec
' 依赖精易模块
.子程序 _按钮_登录_被单击
.局部变量 局_网址, 文本型
.局部变量 局_卡密, 文本型
.局部变量 局_机器码, 文本型
.局部变量 局_提交数据, 文本型
.局部变量 局_返回文本, 文本型
.局部变量 局_json, 类_json
' 1. 配置接口
局_网址 = "https://your-domain.com/Verifyfile/api.php"
局_卡密 = 删首尾空 (编辑框_卡密.内容)
' 2. 获取机器码 (一机一码核心)
局_机器码 = 校验_取md5 (系统_取硬盘特征字 () + 系统_取CPU特征字 ())
' 3. 构造请求
局_提交数据 = "card=" + 局_卡密 + "&device=" + 局_机器码
' 4. 发送 POST
局_返回文本 = 网页_访问S (局_网址, 1, 局_提交数据)
' 5. 解析结果
局_json.解析 (局_返回文本)
如果 (局_json.取属性数值 ("code") = 200)
信息框 ("登录成功!到期:" + 局_json.取通用属性 ("data.expire_time"), 0, , )
否则
信息框 (局_json.取通用属性 ("msg"), #错误图标, , )
如果结束
JSON 返回结果
"code": 200,
"msg": "验证通过",
"data": {
"expire_time": "2026-12-31 23:59:59",
"type": "VIP"
}
}
后台管理
访问入口
默认后台文件为 cards.php。为了安全起见,建议重命名该文件(例如:admin_control.php)。
默认凭据
-
密码:
admin123 - 请在登录后进入[系统设置]立即修改密码。
常见问题
后台验证码图片无法显示?
请确保您的服务器已安装 PHP GD 库扩展。另外,请检查 cards.php 中引用的验证码路径是否正确(默认路径为 Verifyfile/captcha.php,如您将 captcha.php 放在根目录,请修改 cards.php 代码中的路径)。
如何重置管理员密码?
如果忘记密码,请通过 FTP/宝塔面板删除 /data/cards.db 文件。重新访问后台时,系统会自动初始化数据库并将密码重置为 admin123。注意:这会清空所有卡密数据。