后端系统中经常会听到“某某白名单”的名字,为什么要有白名单呢?使用白名单机制有什么好处?
一首脍炙人口的儿歌可以帮我们领悟答案。
“小白兔乖乖,把门儿开开。快点开开,我要进来。
不开不开就不开,妈妈没回来,我就不开门。”
小白兔的妈妈在能开门的白名单里。显然,白名单机制是一种简单易行的系统自我保护机制,没有白名单的“开门系统”存在严重的安全隐患。
在大型后端系统中,白名单机制是必不可少的,主要用在以下几个方面:
黑名单的对立面。这是白名单最明显的应用场景,例如微信朋友圈禁止抖音、快手等平台的短视频分享,但是微信、QQ等APP拍摄的小视频是可以分享的,所以这里有一个“短视频分享白名单”在起作用。
测试帐号。我们在测试新功能的时候,刚开始不想对所有用户都生效,可以通过白名单机制限制生效范围,利用白名单的思想可以对账号进行分类,只有在白名单中的测试帐号才能体验新功能,不在白名单中的账号则完全无感知。
上线控制。举个例子:A公司的产品有PC、APP、微信、小程序等4个客户端,现在由于公司业务发展,需要紧急上线某个功能,由于各客户端的开发任务都很重,只有APP和微信顺利完成开发,PC和小程序要延期上线,这时后端系统显然不能对所有客户端渠道都开放新功能,可以通过新增一个该功能的白名单配置,控制上线节奏。示意如下:
X功能上线范围 = APP,Weixin
有了这个白名单,就可以玩出花样来:
PC、小程序上线