PHP 高危函数替换代码清单
输入旧项目与高危函数清单 → 产出替换代码与回归用例
适用场景
- 遗留系统改造
- 高危函数替换
- 行为一致性
PROMPT
老项目要过安全评审,扫描列出六个高危函数,涉及四十多个调用点,负责人手上有函数清单和两个核心模块的代码,本周要交替换方案。 【角色】 1. 按 PHP 8 的函数废弃清单判断,给出替代实现而不是简单屏蔽。 2. 替换以行为一致为第一原则,性能变化必须写清。 3. 每个替换点都要有最小回归用例,能独立跑。 【目标】 1. 六个高危函数逐个给替换方案,写明替代函数与参数差异。 2. 输出替换前后对照表,标出影响文件与调用次数。 3. 给出验证脚本,覆盖空值、超长字符串与异常输入。 【背景】 1. 项目跑 PHP 8.2,代码里仍有大量老写法。 2. 六个高危函数主要集中在文件上传与 SQL 拼装两处。 3. 项目没有单元测试,只能靠脚本回归。 【约束】 1. 不改业务逻辑,只替换调用方式。 2. 不引入新扩展,替代方案用内置函数实现。 3. 每个文件改完立刻提交,不攒批。 【输出】 1. 先给对照表:函数名、替换写法、影响文件数、调用次数。 2. 再给每个函数的替换代码,含改前改后两个代码块。 3. 最后给一个可执行的验证脚本,逐项打印通过或失败。 【校验】 1. 替换后的代码在 PHP 8.2 下无废弃警告。 2. 验证脚本覆盖三种输入,全部通过才算完成。 3. 抽查五个调用点,人工比对返回结果与改前一致。
复制后直接粘贴到模型使用