【项目介绍】

这是一套轻量的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

【安装步骤】

  1. 导入数据库
  2. 配置数据库连接(config.php)
    或直接访问站点/install 安装
  3. 访问 admin/login.php,默认账号 admin/123456
  4. 自行编译PHP扩展
  5. 部署扩展,在php.ini添加 extension=core_control.so
  6. 重启PHP-FPM
  7. 在项目根目录创建 license.key,写入授权码
  8. 在代码入口调用 core_run()

【目录结构】

├── admin/ 管理后台
├── api/ API接口
├── index.php 前台首页
├── help.php 帮助文档
└── config.php 数据库配置

【下载地址】

主盘:点击下载

直链项目:
点击下载

【扩展编译教程】

一、准备工作

  1. 确认系统环境

    • 操作系统:Linux x86_64(CentOS 7+ / Ubuntu 18+ / Debian 10+)
    • PHP版本:8.2(必须)
    • 拥有 root 或 sudo 权限
  2. 安装编译依赖

    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-dev

    CentOS/RHEL 系统:
    sudo yum groupinstall -y "Development Tools"
    sudo yum install -y php-devel php-cli
    sudo yum install -y openssl-devel zlib-devel

  3. 确认 openssl 版本
    openssl version
    要求版本 >= 1.1.0

二、获取扩展源码

文件列表:

  • core_control.c 扩展主程序
  • config.m4 编译配置文件
  • php_core_control.h 头文件

三、修改授权服务器地址(重要)

  1. 进入扩展目录
    cd php-ext/core_control

  2. 编辑 core_control.c
    找到文件中标记为 "你的授权站点地址处理后替换下面部分" 的区域

  3. 使用 URL 编码工具生成混淆代码
    访问:点击下载
    输入你的授权验证接口地址(如:点击下载
    点击生成,复制输出的 C 代码片段

  4. 替换 core_control.c 中对应的片段
    从 static const unsigned char owoj9[] = {...} 开始
    到 #define AUTH_FRAG_COUNT ... 结束
    全部替换为刚才生成的代码

  5. 保存文件

四、编译扩展

  1. 运行 phpize 生成 configure 文件
    phpize
    如果系统有多个 PHP 版本,使用对应的 phpize8.2

  2. 配置编译选项
    ./configure --enable-core-control

  3. 编译
    make
    编译成功后,扩展文件位于 modules/core_control.so

  4. 安装扩展
    sudo make install
    或者手动复制:sudo cp modules/core_control.so /usr/lib/php/20220829/

五、配置 PHP

  1. 查找扩展目录位置
    php -i | grep extension_dir

  2. 创建扩展配置文件
    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

  3. 验证扩展配置
    cat /etc/php/8.2/cli/conf.d/20-core_control.ini

  4. 重启 PHP 服务
    sudo systemctl restart php8.2-fpm
    或者 sudo service php8.2-fpm restart

  5. 验证扩展是否加载成功
    php -m | grep core_control
    如果输出 core_control,表示安装成功

六、测试扩展

  1. 创建测试文件 test.php

  2. 运行测试
    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

八、生产环境部署建议

  1. 使用稳定版本的 PHP 8.2.x
  2. 编译时开启优化选项(已默认开启 -O2)
  3. 扩展文件放置到系统扩展目录,不要放在项目目录
  4. license.key 文件放置在项目根目录,权限设置为 644
  5. 定期更新云端授权代码
  6. 开启 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

实在编译不来的那我也没招了。到此为止,最后一条帖子发了就退网了
「KiNort」PHP扩展管理系统V1 第5张插图
「KiNort」PHP扩展管理系统V1 第6张插图
「KiNort」PHP扩展管理系统V1 第7张插图
「KiNort」PHP扩展管理系统V1 第8张插图