06-依赖管理审查.md 7.3 KB

第六阶段:依赖管理审查报告

审查概述

项目 详情
审查日期 2026年5月19日
审查范围 Composer 依赖、前端库版本、安全漏洞
发现问题数 18个
高风险 5个
中风险 8个
低风险 5个

1. PHP 依赖分析(Composer)

1.1 依赖清单

包名 版本 最新版本 状态
php >=7.0 8.3 ⚠️ EOL
topthink/framework ~5.0.0 8.x ⚠️ 严重过时
topthink/think-queue 1.1.4 3.x ⚠️ 过时
phpmailer/phpmailer v6.0.3 6.9.x ⚠️ 有安全更新
topthink/think-captcha v1.* 3.x ⚠️ 过时
guzzlehttp/guzzle ^6.3 7.x ⚠️ 过时
overtrue/pinyin ~3.0 4.x ⚠️ 过时
workerman/gatewayclient v3.0.10 3.x ✅ 最新
monolog/monolog 1.23.0 3.x ⚠️ 严重过时
guzzlehttp/psr7 1.4.2 2.x ⚠️ 过时
guzzlehttp/promises v1.3.1 2.x ⚠️ 过时
psr/log 1.0.2 3.x ⚠️ 过时
topthink/think-helper v1.0.6 3.x ⚠️ 过时
huaweicloud/huaweicloud-sdk-php 3.0.56-rc 3.x ⚠️ RC 版本
hashids/hashids ^4.1 5.x ⚠️ 过时
yurunsoft/pay-sdk ^3.1 3.x ✅ 最新

🔴 高风险问题

1.1 ThinkPHP 5.0.7 严重过时

当前版本:5.0.7(2017年发布) 最新版本:8.x(2024年) 问题

  • 已停止安全更新
  • 存在多个已知漏洞
  • 不支持 PHP 8.x 新特性

建议

  • 短期:升级到 5.1.x(向后兼容)
  • 长期:升级到 8.x

1.2 PHP 7.0-7.3 已终止支持

当前要求:>=7.0 EOL 日期

  • PHP 7.0:2018年12月
  • PHP 7.1:2019年12月
  • PHP 7.2:2020年11月
  • PHP 7.3:2021年12月

风险:已知漏洞无法修复

建议:升级到 PHP 8.1+

1.3 Monolog 1.23.0 严重过时

当前版本:1.23.0(2018年) 最新版本:3.x 问题

  • 不支持 PHP 8.x
  • 缺少新特性和性能优化

🟡 中风险问题

1.4 PHPMailer 有安全更新

当前版本:v6.0.3 建议:升级到 6.9.x 获取安全修复

1.5 Guzzle 6.x 过时

当前版本:6.x 最新版本:7.x 问题

  • 不支持 HTTP/2
  • 缺少新的安全特性

1.6 华为云 SDK 使用 RC 版本

当前版本:3.0.56-rc 问题:RC 是预发布版本,可能不稳定

建议:升级到稳定版本

1.7 composer.json 依赖重复定义

"monolog/monolog": "^1.23",  // 第27行
"monolog/monolog": "1.23.0", // 第31行(重复)

"phpmailer/phpmailer": "^6.0",  // 第22行
"phpmailer/phpmailer": "v6.0.3", // 第32行(重复)

"workerman/gatewayclient": "~3.0.7",  // 第26行
"workerman/gatewayclient": "v3.0.10", // 第34行(重复)

建议:清理重复定义,保留精确版本


2. 前端库分析

2.1 库清单

库名 当前版本 最新版本 状态
jQuery 1.11.3 3.7.x ⚠️ 严重过时
Layui v2.9.16 2.9.x ✅ 最新
Bootstrap 3.x 5.x ⚠️ 过时
Vue.js 未知 3.x ⚠️ 需确认
Vant 未知 4.x ⚠️ 需确认
ECharts 未知 5.x ⚠️ 需确认
Select2 未知 4.x ⚠️ 需确认
Font Awesome 4.7.0 6.x ⚠️ 过时
Viewer.js 未知 1.x ⚠️ 需确认
Swiper 未知 11.x ⚠️ 需确认
OwlCarousel 2.3.4 2.x ✅ 最新
Moment.js 未知 - ⚠️ 已停止维护

🔴 高风险问题

2.1 jQuery 1.11.3 严重过时

当前版本:1.11.3(2015年) 最新版本:3.7.x 问题

  • 存在多个已知 XSS 漏洞
  • 不支持现代浏览器 API
  • 性能较差

建议:升级到 jQuery 3.7.x

2.2 Bootstrap 3.x 过时

当前版本:3.x 最新版本:5.x 问题

  • 不支持 Flexbox/Grid
  • 缺少响应式设计改进
  • 依赖 jQuery

🟡 中风险问题

2.3 Moment.js 已停止维护

状态:官方已停止维护,推荐使用 Day.js 或 date-fns

2.4 Font Awesome 4.7.0 过时

当前版本:4.7.0 最新版本:6.x

2.5 前端库版本不明确

多个库版本号无法从目录名确定,需要检查具体文件:

  • Vue.js
  • Vant
  • ECharts
  • Select2
  • Viewer.js
  • Swiper

3. 已知安全漏洞

3.1 PHP 依赖漏洞

包名 漏洞类型 严重程度 CVE
ThinkPHP 5.0.x RCE、SQL注入、文件包含 严重 多个
PHPMailer <6.0.8 XSS CVE-2020-13625
Guzzle <6.5.5 SSRF CVE-2022-29248
jQuery <3.5.0 XSS CVE-2020-11022

3.2 前端库漏洞

库名 漏洞类型 严重程度
jQuery 1.11.3 XSS
Bootstrap 3.x XSS

4. 依赖冗余分析

4.1 未使用的依赖

根据代码分析,以下依赖可能未被使用:

包名 检查结果
topthink/think-captcha 未发现调用
overtrue/pinyin 仅在 GamePackage.php 中使用

4.2 功能重复的依赖

功能 依赖 替代方案
HTTP 客户端 guzzlehttp/guzzle PHP 8.0+ 内置 curl
日志 monolog/monolog ThinkPHP 内置 Log
邮件 phpmailer/phpmailer 内置 mail() 或第三方 SMTP

5. 问题汇总

按风险等级分类

🔴 高风险

序号 问题 位置
1 ThinkPHP 5.0.7 严重过时 composer.json
2 PHP 7.0-7.3 已终止支持 composer.json
3 jQuery 1.11.3 严重过时 public/static/lib/
4 Monolog 1.23.0 严重过时 composer.json
5 Bootstrap 3.x 过时 public/static/lib/

🟡 中风险

序号 问题
1 PHPMailer 有安全更新
2 Guzzle 6.x 过时
3 华为云 SDK 使用 RC 版本
4 composer.json 依赖重复定义
5 Moment.js 已停止维护
6 Font Awesome 4.7.0 过时
7 前端库版本不明确
8 jQuery/Bootstrap 存在 XSS 漏洞

🟢 低风险

序号 问题
1 未使用的依赖
2 功能重复的依赖
3 依赖版本约束不精确
4 缺少 lock 文件说明
5 缺少 dev 依赖

6. 改进建议

第一优先级(安全更新)

  1. 升级 jQuery:1.11.3 → 3.7.x
  2. 升级 PHPMailer:6.0.3 → 6.9.x
  3. 升级 Guzzle:6.x → 7.x(如可能)

第二优先级(版本升级)

  1. 升级 ThinkPHP:5.0 → 5.1(短期)→ 8.x(长期)
  2. 升级 PHP:7.x → 8.1+
  3. 升级 Monolog:1.x → 3.x

第三优先级(清理优化)

  1. 清理 composer.json 重复定义
  2. 确认前端库版本
  3. 移除未使用的依赖
  4. 替换 Moment.js:使用 Day.js

第四优先级(长期规划)

  1. 升级 Bootstrap:3.x → 5.x
  2. 升级 Font Awesome:4.x → 6.x
  3. 引入依赖安全检查工具

7. 升级路径建议

ThinkPHP 升级路径

5.0.7 → 5.0.24 (最新5.0) → 5.1.x → 6.x → 8.x

PHP 升级路径

7.3 → 7.4 → 8.0 → 8.1 (推荐)

jQuery 升级路径

1.11.3 → 3.7.1 (直接升级,使用 jQuery Migrate 兼容)

审查报告生成时间:2026年5月19日