为何部署在Vercel的Next.js 14静态站点出现PHP文件请求?
问题分析与解决办法
原因判断
这些带wp前缀的PHP请求,大概率是全网恶意扫描行为,而非你的Vercel空间被入侵:
- Vercel的静态部署环境不支持PHP运行,这类请求根本不会执行任何PHP代码,只是触发了Vercel默认的404响应,而404页面本身会产生少量带宽消耗。
- 攻击者会批量扫描公开域名,试图寻找未加固的WordPress站点,不管你的站点是否基于WP,都会发起这类标准化的WP路径请求。
排查验证步骤
- 查看Vercel控制台的「Logs」面板,确认这些请求的响应状态码(应该是404),同时检查请求的来源IP、User-Agent,基本都是扫描机器人的标识。
- 核对项目代码仓库的提交记录和文件列表,确认没有被恶意插入PHP文件或陌生配置。
- 检查Vercel项目的部署设置、环境变量,确认没有被篡改的异常配置。
解决措施
- 自定义极简404页面:在Next.js 14 App Router的
app目录下创建not-found.tsx,返回体积极小的静态404内容,减少无效响应的带宽占用。 - 拦截恶意请求:在项目根目录的
vercel.json中添加路由规则,直接拦截所有wp前缀的请求,返回403禁止访问:{ "routes": [ { "src": "/wp.*", "status": 403, "body": "Forbidden" } ] } - 启用Bot防护:在Vercel控制台的「Security」选项中开启Bot Protection,自动拦截常见的恶意扫描机器人。
- 拉黑恶意IP:如果发现特定IP频繁发起扫描,可在Vercel的IP访问控制中添加黑名单。
内容的提问来源于stack exchange,提问作者Super-Kenil
相关产品推荐
相关产品推荐

