前言

一个测试工程师走进了一家酒吧,点了一杯2999元的拉菲,并对酒吧老板说我只付款0.01元,奇葩的是老板还默许了。

问题描述

今天部门内外包的一个项目出现了漏洞,客户说有一个用户下了一个500多的商品,但是实际付款只有1元,一开始以为是底层付款环节有问题,但是想了很久,下面的小胸弟也查了一个多小时,然而并没有查出问题所在。后来我灵机一动,会不会是生成订单的时候就出现了问题,于是让他们查了一下,问题找到了。这一套系统之前下单流程是一个新来的实习生写的,下单的时候并没有读取商品的价格,而是直接用前台页面上提交过来的价格下单了。以至于被人抓包篡改。

最终

最近3天连续有20多个订单都是这种情况,导致客户损失不少。正常汇报老板。最终责任肯定少不了。
系统测试很重要。
告诫所有程序开发者们,不要过度相信用户提交的信息,不要过度相信用户提交的信息,不要过度相信用户提交的信息。这都是血的教训啊。