不要相信用户输入的任何东西

用户输入的东西永远不要相信,从入行开始就被灌输这个思想,也影响我整个开发的过程!

接口开发中,一定涉及到接口参数的传递,这个参数你就可以认为用户传递的,即使是你熟悉的同事前端传递给你的。除了你自己外的一切人,你都可以认为是用户!除了你之外的所有人的,给你传递都不可信!有了这个思想,你就会对用户的任何输入都会做校验!

用户可能用任何的参数请求你的接口,如果你没有做完备的校验,可能会使你的程序暴漏在风险之中!所以你需要对你接口的输入参数做必要的过滤,是否为空,格式是否正确,是否有特殊字符,是否有xss等等!

我们的网站或是接口是暴露在所有用户的面前的,这个就是我们的一道非常重要的防线!所以我们自己需要把它守住!但是,我经常听到有人说,你调用我接口参数不对,把我调用崩溃啦!感觉可笑不可笑!被人传递的参数调用崩溃,还好意思说出来,这样的人是无知呢,还是…?所以,我们不做无知的人,就要从我开始,把自己的接口完善好,做必要的验证!防止被人认为无知的人!

不光后端程序开发,前端也是一样,后端给前端的接口并不是一成不变的,可能因为某个参数在某种情况下不存在,而没有返回,没有给前端返回,前端有没有做验证导致页面奔溃的现象也非常多!所以标题这句话也是适合前端的,后端给的任何标准格式可能不是标准的,可能某些参数可能在某些情况下不存在的!所以前端也需要对所有参数验证是否存在,在正常的情况下再使用,不用拿来就用!报错了,来句后端给的参数不对!不懂的认为是后端的锅,可领导一般都是开发的,一听这个就知道真正谁的锅啊!

所有的输入都是不可信,在程序开发中,一定深记!