程序员职场:3 大原则让你的编程之路越走越顺,新手来了解一下( 四 )

(3)对数据内容的检查

某些场景下 , 没有对数据内容做检查就直接使用 , 可能导致意想不到的结果 。

【案例】:sql注入和xss攻击都是利用了服务端没有对数据内容做检查的漏洞 。

2、对输出(变更)的不信任

变更的影响一般体现在输出 , 有时候输出的结果并不能简单的判断是否正常 , 如输出是加密信息 , 或者输出的内容过于复杂 。

所以 , 对于每次变更

(1)修改代码时 , 采用不信任编码 , 正确的不一定是“对”的 , 再小的修改也应确认其对后续逻辑的影响 , 有些修正可能改变原来错误时的输出 , 而输出的改变 , 就会影响到依赖该改变字段的业务 。

(2)发布前 , 应该对涉及到的场景进行测试和验证 , 测试可以有效的发现潜在的问题 , 这是众所周知的 。

(3)发布过程 , 应该采用灰度发布策略 , 因为测试并非总是能发现问题 , 灰度发布 , 可以减少事故影响的范围 。 常见灰度发布的策略有机器灰度、IP灰度、用户灰度、按比例灰度等 , 各有优缺点 , 需要根据具体场景选择 , 甚至可以同时采用多种的组合 。

推荐阅读