前天在工作中遇到一个由于验证不完全导致的问题,写一下心得!
场景是这样的:下单的时候没有进行金额验证,导致明细中有正数负数时相互抵消,只要很少的钱可以下大金额的订单。例如订单中有1000和-999两种明细,总金额只要1元钱即可,-999的明细走不下去,但是这1000元的可以,导致1元钱买了1000元的产品。
通过这个教训,以后在写代码过程中,
1.要进行js、服务器和api的三端验证
2.遇到金额,要验证正整数
3.各种验证要加上,不要怕麻烦,有时候一个小问题会导致大事件
Team开会,在会上总结了两种解决方案,一种是codereview,一种是单元测试
时间: 2024-10-21 07:18:29