架构师是如何炼成的-阅读笔记5
、安全问题是木桶效应。
我们需要做的是对于安全的排查,需要全面覆盖,除非子站在部署上用户体系上彻底隔离。
2、开发层面:不要信任客户端的任何东西。
对于HTTP协议,不管是头里面的东西(来源、客户端类型、Cookie)还是正文里面的东西,任何数据都是可以伪造的。我们往往会觉得Get的东西暴露在浏览器地址上,里面的参数不安全,Post过来的数据因为不暴露就安全,然后会信任Cookie中的数据做一些权限控制,会用头里面的一些数据做一些安全性控制。
3、开发层面:数据就是数据代码就是代码。
不管是SQL注入也好XSS也好都是这个问题,把数据和代码混在了一起。对于客户端过来的任何信息应该都只是数据,应该很少会让客户端来告诉服务端执行的代码。
4、开发层面:用户看不到不等于黑客看不到。
我们在做设计的时候尽可能仔细审视AJAX的接口的权限、数据开放性和脱敏等问题。一些框架提供的脚手架生成工具以及Restful API自动生成工具,即使要用也要做好权限设置。
5、开发层面:最小化接口权限设计复用性矛盾。