宁远一家装备制造厂的官网,去年做安全加固。加固完后台直接白屏。厂里行政急得给我打电话,说月底要发招标资料。后来我才发现,问题不在加固本身。在他们那套 2015 年的老模板。这个坑,永州的老站点特别容易踩。
老模板为什么会跟加固打架
那套模板里用了好几处早就不维护的写法。PHP 版本一升就报错。加固动作会关掉一些旧接口,老模板正好卡在这上面。我一开始判断是插件冲突。哪儿错了?不是插件,是模板。查了半小时才发现错了。老站加固前,先看模板的年头。年头越久,风险越大。这话我说过多次。还是有人不信。白屏了才信。你的模板哪年的,先查清楚。
动手前,我一般先做这三件小事
我现在做加固,第一步是整站打包备份。第二步是记下当前 PHP 版本和插件清单。第三步是在本地搭一份一样的站先试跑。这三步加起来不到一小时,能挡掉大半事故。听着麻烦,真出事你会谢我。省这一步的人多吗?多。后来都后悔了。后悔药没处买。我帮着收拾过好几回,每次都是半夜。这半小时我劝你别省。
真白屏了,怎么最快退回去
那次我从备份恢复,前后 40 分钟。要是没有备份,就得一点一点改代码。时间我真没法估。所以我给永州客户的规矩是:没备份不动手。恢复完先确认后台能进、首页能开。再去补安全设置。别图快。急事慢做,这几个字我贴在工位上。贴了三年了。天天看,就记住了。
恢复完之后,还得再盯上一周
恢复完不代表就没事了。我一般会留一周的观察期。让厂里行政发现异常就截图发我。那次之后连续三天,我每天早上去看一眼日志。老模板的报错有时候是间歇性的。当天没冒出来,就代表好了吗?不代表。第四天果然又冒了一次。幸好我还在看。不然又要跑一趟,宁远到冷水滩开车一个多钟头。
总结
老网站做安全加固,兼容性不先过一遍,加固完很可能后台就进不去。我建议你在动手前先把整站备份,记下 PHP 版本和插件清单。这两件小事今天下午就能做完。做完再找人加固,心里踏实得多。