演示环境的敏感配置,让系统自己打码
写文章要截后台的图,商户号、AppID、密钥、证书路径都得遮掉。
我一直是截完图再用工具涂。涂十张图比写一段文字还累,而且总会漏一个。
后来发现更省事的做法:让系统在演示模式下自己返回打码后的值。
思路很简单——配置项在返回给前端之前过一道:
java
public String maskIfNeeded(String name,
String value) {
if (!demoProps.getEnabled()) {
// 非演示环境,原样返回
return value;
}
if (isSensitive(name)) {
// 演示环境且是敏感项,打码
return mask(value);
}
return value;
}好处有三个:
截图不用再涂。 页面上显示的本来就是 wx****1234。
不会漏。 只要配置项在敏感列表里,所有出口都是打码的——列表页、详情页、导出,一处都不漏。人工涂图做不到这个。
演示账号可以放心给人看。 客服演示、录教程、给同事看后台,都不用担心。
关键是那个开关要跟环境绑定,别硬编码。生产环境打开了就麻烦了——真配置显示成星号,运维会以为配置丢了。
顺带一提:敏感项清单要显式维护,别用"名字里带 key 就打码"这种猜法。漏了一个 mchId 就白做了。
