phpsafe 𝕏 GitHub
官方 CA 421DTkQ3TSG3n7F9SkNZj9NxvdFGbypwkctPd2uupump 仅此地址为官方地址。

用变量构造包含路径

严重程度: 中 CWE-98 OWASP A03:2021 Injection rule: include_var

为什么危险

用变量构造的 include 路径只有在变量绝不包含用户输入时才安全。值往往来自上游代码中的请求,务必确认。

✕ 有漏洞的写法
include $template;
✓ 安全的写法
$allowed = ['list', 'detail'];
if (!in_array($template, $allowed, true)) {
    $template = 'list';
}
include __DIR__ . '/templates/' . $template . '.php';

修复方法

确保变量只能是已知文件名,建议使用 __DIR__ 加固定路径。

扫描我的代码

粘贴文件,PHP Safe 会指出所有符合此规则的代码行。

扫描我的代码 →