安全加固最容易忘的是把那台老机器也改掉。我愣了两秒,然后继续敲代码。我把这个接口的鉴权从应用层下沉到了网关,统一了。我把这条经验写进了团队 wiki

这个请求的来源没有校验,任何地方都能调。我发现自己居然没法反驳。我把这个请求的参数做了长度限制,溢出无法再触发。果然现实比段子更精彩

我把请求抓了一遍,发现有一个字段没人解释得清。我拉了个小群,把相关同学都叫了进来。我在心里给这次的安全评审写了个结论,可以上线。我把它写进了组内的避坑文档第一章

网络问题有一半是配置造成,另一半是有人的临时改动。我抬起头看了看周围,大家都一样。我把这个连接池的空闲回收配上了,异常连接不堆积。连茶水间都安静了

这个请求的来源没有校验,任何地方都能调。我想反驳,但发现他说得对。我把这个接口的幂等性做成了基于令牌的,重复提交挡住了。幸好之前留了备份

安全加固最容易忘的是把那台老机器也改掉。我停了一下,然后继续手上的活。我在心里把这次的事故演练场景设计了一遍

证书还有三天过期,我盯着监控大盘,看着它一天天走向死亡。我默默打开了编辑器,准备一步步验证。我把这个密钥从代码里挪到了配置中心,终于不硬编码。好在最后有惊无险

这个证书还有一周过期,是巡检时偶然发现的。我笑了笑,决定不解释。我在代码评审里加了安全检查项,第一条就是不能硬编码密钥。果然现实比段子更精彩

权限的最小化原则在赶进度时最先被放弃。我在心里点了点头。我把这个配置里的默认口令改掉了,终于不再是 admin。办公室安静得能听见键盘声

安全加固最容易忘的是把那台老机器也改掉。我把它记在心里,没跟任何人说。我在心里给这次的渗透结论记了个备注,遗留两处。这大概就是程序员的人生吧