【项目介绍】
这是一套轻量的PHP授权管理系统,采用 PHP扩展加密 + 云端验证 的架构。核心代码不下发,运行时从云端拉取并解密执行
核心思路:写一个PHP扩展,在扩展里做授权验证,验证通过后从你的服务器拉取加密的PHP代码并执行
【技术架构】
核心流程:
用户发起请求 -> 调用core_run() -> 扩展读取license.key -> 扩展向云端验证授权 -> 验证通过后拉取加密代码 -> 解密执行 -> 返回业务结果
扩展安全特性:
- AES-256加密传输云端代码
- 反调试检测
- 内存锁定
- 设备指纹
- 验证结果缓存
云端管理平台功能:
- 授权码管理(增删改查、冻结/解冻)
- 批量生成授权码
- 产品类型管理(配置不同版本返回的代码)
- 数据大屏(激活趋势、产品分布、到期提醒)
- 数据导出(CSV/Excel)
- 站点配置(标题、公告、ICP备案号)
【环境要求】
- PHP 8.2(必须,扩展基于8.2 API编译)
- Linux x86_64(CentOS 7+ / Ubuntu 18+)
- MySQL 5.7+
- Nginx / Apache
- PHP扩展:openssl、mysqli、gd
【安装步骤】
- 导入数据库
- 配置数据库连接(config.php)
或直接访问站点/install 安装 - 访问 admin/login.php,默认账号 admin/123456
- 自行编译PHP扩展
- 部署扩展,在php.ini添加 extension=core_control.so
- 重启PHP-FPM
- 在项目根目录创建 license.key,写入授权码
- 在代码入口调用 core_run()
【目录结构】
├── admin/ 管理后台
├── api/ API接口
├── index.php 前台首页
├── help.php 帮助文档
└── config.php 数据库配置
【下载地址】
主盘:点击下载
直链项目:
点击下载
【扩展编译教程】
一、准备工作
-
确认系统环境
- 操作系统:Linux x86_64(CentOS 7+ / Ubuntu 18+ / Debian 10+)
- PHP版本:8.2(必须)
- 拥有 root 或 sudo 权限
-
安装编译依赖
Ubuntu/Debian 系统:
sudo apt update
sudo apt install -y gcc make autoconf libtool pkg-config
sudo apt install -y php8.2-dev php8.2-cli php8.2-common
sudo apt install -y libssl-dev zlib1g-devCentOS/RHEL 系统:
sudo yum groupinstall -y "Development Tools"
sudo yum install -y php-devel php-cli
sudo yum install -y openssl-devel zlib-devel -
确认 openssl 版本
openssl version
要求版本 >= 1.1.0
二、获取扩展源码
文件列表:
- core_control.c 扩展主程序
- config.m4 编译配置文件
- php_core_control.h 头文件
三、修改授权服务器地址(重要)
-
进入扩展目录
cd php-ext/core_control -
编辑 core_control.c
找到文件中标记为 "你的授权站点地址处理后替换下面部分" 的区域 -
使用 URL 编码工具生成混淆代码
访问:点击下载
输入你的授权验证接口地址(如:点击下载)
点击生成,复制输出的 C 代码片段 -
替换 core_control.c 中对应的片段
从 static const unsigned char owoj9[] = {...} 开始
到 #define AUTH_FRAG_COUNT ... 结束
全部替换为刚才生成的代码 -
保存文件
四、编译扩展
-
运行 phpize 生成 configure 文件
phpize
如果系统有多个 PHP 版本,使用对应的 phpize8.2 -
配置编译选项
./configure --enable-core-control -
编译
make
编译成功后,扩展文件位于 modules/core_control.so -
安装扩展
sudo make install
或者手动复制:sudo cp modules/core_control.so /usr/lib/php/20220829/
五、配置 PHP
-
查找扩展目录位置
php -i | grep extension_dir -
创建扩展配置文件
sudo echo "extension=core_control.so" > /etc/php/8.2/cli/conf.d/20-core_control.ini
sudo echo "extension=core_control.so" > /etc/php/8.2/fpm/conf.d/20-core_control.ini -
验证扩展配置
cat /etc/php/8.2/cli/conf.d/20-core_control.ini -
重启 PHP 服务
sudo systemctl restart php8.2-fpm
或者 sudo service php8.2-fpm restart -
验证扩展是否加载成功
php -m | grep core_control
如果输出 core_control,表示安装成功
六、测试扩展
-
创建测试文件 test.php
-
运行测试
php test.php预期输出:
扩展版本:1.0.0
Array
(
[version] => 1.0.0
)
七、常见编译错误及解决
错误1:phpize 命令不存在
解决:apt install php8.2-dev 或 yum install php-devel
错误2:找不到 openssl/ssl.h
解决:apt install libssl-dev 或 yum install openssl-devel
错误3:编译时提示 undefined reference to `SSL_library_init'
解决:检查 config.m4 中的 PHP_ADD_LIBRARY_WITH_PATH 路径是否正确
错误4:phpize 版本不对应
解决:使用 /usr/bin/phpize8.2 指定版本
错误5:make 时报错 Permission denied
解决:使用 sudo make 或在命令前加 sudo
错误6:扩展加载失败,提示 undefined symbol
解决:检查 PHP 版本是否为 8.2,重新编译
错误7:编译后 modules 目录为空
解决:检查 configure 是否成功,重新运行 phpize 和 configure
八、生产环境部署建议
- 使用稳定版本的 PHP 8.2.x
- 编译时开启优化选项(已默认开启 -O2)
- 扩展文件放置到系统扩展目录,不要放在项目目录
- license.key 文件放置在项目根目录,权限设置为 644
- 定期更新云端授权代码
- 开启 HTTPS 保证传输安全
九、性能说明
- 扩展首次加载时会发起一次网络请求验证授权
- 验证结果会缓存到内存,后续请求直接命中缓存
- 缓存有效期跟随授权到期时间,过期后重新验证
- 对业务性能影响极小(微秒级)
十、完整编译命令汇总
cd php-ext/core_control
phpize
./configure --enable-core-control
make
sudo make install
sudo systemctl restart php8.2-fpm
php -m | grep core_control
实在编译不来的那我也没招了。到此为止,最后一条帖子发了就退网了




请登录后发表评论
注册
停留在世界边缘,与之惜别