PbootCMS内核文件Kernel.php加密了,为了评估安全性(比如是否留有后门),特逆向代码了解了内部运作机制,里面都是常规逻辑,大家可以放心使用。
请求进入
↓
[1] 模板缓存检查 (qrdkhdcsq...)
↓ 未命中缓存
[2] URL信息提取 (cqupdusbt...)
↓ 获取PATH_INFO
[3] 域名绑定处理 (hjqwqxtke...)
↓ 添加模块前缀
[4] URL路由转换 (hjqprhuq...)
↓ 伪静态路由匹配
[5] MVC参数解析 (cquxccqmm...)
↓ 解析 m/c/f
[6] 常量定义 (jqcxllpdu...)
↓ 定义 M/C/F/P/URL
[7] 环境初始化 (qrdkhrvv4...)
↓ 加载配置文件
[8] 授权验证 (qxcqtmqdf...)
↓ 检查 LICENSE
[9] 控制器执行 (qrdkhrtuj...)
↓ 实例化并调用方法
功能: PbootCMS商业授权码验证机制
授权验证流程:
获取服务器IP
↓
计算授权特征码
├─ 用户特征码 (SHA1(username) → MD5 → 截取)
├─ 主机特征码 (SHA1(server_ip) → MD5 → 截取)
└─ 域名特征码 (SHA1(domain) → MD5 → 截取)
↓
匹配授权码列表
↓
设置LICENSE常量 (0-3)
↓
验证失败则拦截访问
LICENSE状态码:
| 值 |
含义 |
说明 |
| 0 |
未授权 |
无有效授权码 |
| 1 |
域名授权 |
域名匹配成功 |
| 2 |
IP授权 |
服务器IP匹配成功 |
| 3 |
用户授权 |
用户名匹配成功 |
define('LICENSE', $license);
// 本地环境豁免
if (!LICENSE && (filter_var(get_http_host(), FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)
|| get_http_host() == 'localhost')) { // 这里有一点问题,虽然是本地环境,但是没有豁免端口
return;
}
// 非后台且未授权则拦截
if (!$license && (defined('URL_BIND') && URL_BIND != 'admin')) {
if (file_exists(ROOT_PATH . '/sn.html')) {
require ROOT_PATH . '/sn.html';
exit();
} else {
error('未匹配到本域名有效授权码...');
}
}
PbootCMS内核文件
Kernel.php加密了,为了评估安全性(比如是否留有后门),特逆向代码了解了内部运作机制,里面都是常规逻辑,大家可以放心使用。功能: PbootCMS商业授权码验证机制
授权验证流程:
LICENSE状态码: