结论:只能降低被扫到的概率,不能真正抵御 PHP2Shell,别把白名单当补丁用。

①白名单的作用是限制「谁能访问入口」,而 PHP2Shell 属于代码执行层面的漏洞,攻击者一旦通过正常业务入口(登录后的上传、参数注入、模板渲染)触发利用链,请求源 IP 很可能就在白名单内,防火墙根本不会拦。

②更现实的风险是内网横向和 CDN 回源:如果白名单放的是 CDN 节点或办公网出口,攻击者借这些出口发起请求,白名单等于形同虚设;被攻陷的跳板机同样在白名单里。

③正确做法是打补丁/升级框架版本、关闭不必要的动态执行与危险函数、上传目录禁止解析、WAF 加规则做语义拦截,白名单只作为运维入口(SSH、面板、后台)的附加防线。

④排查建议:上线前用最小权限账号回归测试上传与模板功能,日志里重点看同 IP 的高频异常请求,别只盯 403 数量。