根据用户输入包含文件
为什么危险
用请求数据拼接 include 路径,攻击者就能加载系统文件、藏有 PHP 的上传图片或远程代码,这是服务器被完全接管的最快途径之一。
include $_GET['page'] . '.php';
$pages = ['home' => 'home.php', 'about' => 'about.php'];
$page = $pages[$_GET['page'] ?? 'home'] ?? 'home.php';
include __DIR__ . '/pages/' . $page;
修复方法
用白名单数组把允许的页面名映射到固定文件,切勿用请求数据拼接路径。
扫描我的代码
扫描我的代码 →
粘贴文件,PHP Safe 会指出所有符合此规则的代码行。