做 PbootCMS 维护这几年,接到的"网站被黑"求助,大部分都不是服务器被端了,而是从应用层进来的:SQL 注入、模板注入、后台被爆破、上传了伪装图片马。而且有个规律——出事的站点,绝大多数是下面这三类:
一类是做了二次开发、锁死版本不敢升级的老站点;
另一类是放在虚拟主机上、压根没有 WAF 的小站;
还有一类是装了宝塔、但没买 WAF 应用,以为安全其实在裸奔的站点。
这篇文章就把这几类站点的困境说清楚,最后给一个不用升级核心、不用动服务器就能补上的防护方案。

一、二开站点:不敢升级,等于裸奔
PbootCMS 二开站点为什么不敢点"在线升级"?风险大家都懂:
模板标签、自定义函数可能不兼容新版;
数据库结构变化可能直接报错;
二次开发的控制器、扩展被覆盖,辛苦改的代码全没了。
所以很多站长的选择是:版本锁死,能用就不动。但问题是——不升级,等于把已知漏洞一直挂在公网上。PbootCMS 的补丁基本都是针对新版修复的,老版本享受不到。被扫描器盯上,一条已知漏洞就可能直接打穿。
二开站点真正的出路,不是"升不升级"二选一,而是:代码不动的前提下,在入口加一道防护,把漏洞利用挡在 CMS 处理之前。这正是 WAF 干的事。
二、虚拟主机:没有宝塔,也没有安全组
虚拟主机(共享主机)站长更被动:
没有宝塔面板,装不了服务器级防火墙;
云服务器才有的安全组,虚拟主机没得配;
ModSecurity 这类 Nginx/Apache 模块也装不了;
连伪静态规则都经常要跟主机商沟通半天。
这种环境下,服务器层面的 WAF 一条路都走不通。能自己控制的,只有网站应用本身。所以虚拟主机站点想要防护,只能走应用层 WAF:装一个 PHP 插件,在请求进 CMS 之前先过一遍过滤规则。
三、装了宝塔,但没买 WAF:以为安全,其实在裸奔
还有一类很隐蔽的"裸奔"——站长装了宝塔面板,就以为安全无忧了。这里要泼一盆冷水:
宝塔免费版自带的系统防火墙,主要管端口、IP 和基础访问控制,属于服务器层防护;
而 SQL 注入、XSS、模板注入这类应用层攻击,宝塔要靠 WAF 应用(Nginx 防火墙)来拦,这是企业版/付费功能,没购买就基本没有应用层拦截;
很多宝塔用户装了面板后从没开过 WAF,甚至不知道宝塔的 WAF 是要额外付费的——于是整站在应用层裸奔,扫描器一来就中招。
所以判断标准很简单:装了宝塔 ≠ 有 WAF。宝塔的系统防火墙和真正的 WAF 是两回事。这类站点和应用层插件是绝配——宝塔环境跑 PHP 插件毫无压力,装上即补上这块缺口。
四、先自查:你的站点现在到底有没有防护?
不管你是哪类站长,先花两分钟自查:
你的服务器/虚拟主机有没有服务器级 WAF?(宝塔防火墙、云安全组、ModSecurity 之类)
你的站点有没有应用层防护插件?(防注入、防挂马这类)
你的 PbootCMS 是不是锁死了旧版本?如果是,官方新补丁你一个都用不上
你有没有文件变更监控?(核心文件被改了,你能不能第一时间知道)
如果第 1、2 条都是"没有",那你的站点目前基本等于裸奔。这个时候需要的不是换更好的服务器,而是一个"装上就能用、不折腾"的入口防护。
五、为什么"PbootCMS安全卫士"适合这几类站点
上面几类站点的共性需求就三句话:不升级核心、不动服务器、装上即防。安全卫士的设计正好对上:
独立架构,二开站点放心装 插件以独立目录 + 入口引入方式运行,不修改 CMS 核心文件,PbootCMS 在线升级也不会覆盖它。二开站点想继续锁版本,就继续锁,插件照常防护,两条路不冲突。
入口前置,漏洞利用进不了 CMS WAF 核心在 CMS 核心加载前执行:请求 → 安全卫士过滤 → CMS。SQL注入、XSS、命令注入、路径遍历、模板注入、扫描器探测,63 条规则在入口先挡一道。
纯本地规则引擎,虚拟主机、宝塔都能跑 不依赖云端、不依赖服务器模块、不需要 root 权限,只要 PHP 7.0+ 就能跑。共享主机、虚拟主机照常安装;宝塔环境跑 PHP 插件毫无压力,系统防火墙 + 应用层 WAF 互补,正好补齐宝塔没买 WAF 的缺口。
装完不是黑盒,有日志、有基线 后台有完整拦截日志:谁扫你、什么时间、什么攻击、命中哪条规则,一查就知道。还有文件体检和 SHA256 文件基线,升级前后、上线前后跑一遍,核心文件被改了立刻现形。
六、装上之后,这几件事照样要做
最后提醒一句:WAF 是入口层的防护,不是万能钥匙。装了插件之后,这几件事一个都不能少:
后台账号别用弱密码,该改就改;
定期备份数据库和网站文件,插件不会替你备份;
有条件的站点还是尽量保持核心更新,插件是兜底不是替代;
发现可疑日志,先结合文件修改时间和访问日志人工确认,别直接删核心文件。
防护这件事,永远是"出事前做"比"出事后清"便宜得多。你的站点如果正好是二开锁版本、虚拟主机裸奔、或者装了宝塔但没买 WAF 的情况,可以先装上安全卫士试试——标准模式默认兼容后台,测试站压一遍再开严格档。
关于安装与授权
后台 admin.php?p=/Safeguard/install 自动安装,三步启用;本地授权、绑定域名、终身有效,日常不联网,具体授权方式见插件发布页说明。