Skip to content

演示环境的敏感配置,让系统自己打码

写文章要截后台的图,商户号、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 就白做了。

签名-B

大粽子