去年接过一个救火单子:一家做环保设备的工厂新站上线第三天,销售总监打来电话,声音都变了——一位瑞典客户当场用手机打开他们首页,产品区块叠在了一起,图片压扁变形,对方截了图发过来,附了一句你们网站是不是被黑了。三天前交付验收时明明都好好的,怎么会这样?
排查过程,问题浮出来
我们远程接手,半小时定位到根源:上线后客户的市场部自己往首页加了一个新品横幅,图片是从设计软件直接导出的,宽四千像素,还带着内嵌样式。加的位置恰好在一个弹性布局容器里,把整行的分配规则挤乱了,连带下方的区块全部错位。也就是说,问题不在原始代码,在后台编辑没有约束——任何人都能传一张巨图、贴一段带样式的代码进去,而系统照单全收。
为什么测试没拦住
交付时的真机测试没白做,测的是当时的内容状态。真正的漏洞是:内容会变,测试只保了一天。这次教训让我们把响应式网站设计的交付标准改了——除了页面本身,还要给后台加约束:图片自动压缩到合理宽度、编辑器过滤粘贴进来的样式代码、异常尺寸的横幅强制走安全模板。内容是活的,约束必须跟着活的内容走,这是很多项目验收时完全没考虑的维度。
三天修复,顺手加固
- 第一天:清掉问题内容,页面恢复,先止血;
- 第二天:后台加图片压缩和代码过滤,从源头堵住;
- 第三天:给客户市场部做了半小时培训,讲了三条红线——图先压缩再传、不粘贴外部样式、改完用手机预览再发布。
之后两年,这个站的首页再没崩过,市场部每个月都在更新内容。可见防崩坏的核心不是不让客户动手,而是让客户怎么动都不容易出事。系统兜底加人守规矩,两条腿走路,缺一条都走不远。
给即将上线的你提个醒
验收时别只让建站方演示,要让自己人上手在后台改一版内容,看看约束在不在;上线后立一个规矩:重要页面的改动,发布前用手机过一眼。这两条不做,同样的剧情迟早重演,而且多半挑最不该出事的时候。海外客户可不会提醒你网站坏了,人家默默关页面的样子,你永远看不见。
如果你正打算做新站,把后台防呆写进需求清单,交付时让对方演示传一张大图会发生什么。比格网络吃过这类亏之后,把内容安全机制做成了响应式网站设计交付的默认项,我们希望每个客户的网站,都能经得起不懂技术的人日复一日地折腾。