HuangtianyuCN

Results 2 comments of HuangtianyuCN

程序的逻辑是如下的: 1.首先用户在getMiaoshaPath中,如果判断验证码是正确的,那么就会创建一个秒杀路径,也就是说,只要在getMiaoshaPath中,每次判断验证码正确都会创建秒杀路径。 2.然后用户获得返回的秒杀路径后,会通过秒杀路径执行do_miaosha_static方法。这个方法中先判断path是否正确,然后减库存,异步生成订单。 那么问题来了。 如果说——对接口隐藏是为了防止用户图像识别出验证码循环刷接口,那么: 1.验证码能被图像识别,是验证码的问题,削峰没做好。 2.在削峰没做好的基础上,每个用户先执行getMiaoshaPath获得路径,且每次获取都会刷新一遍redis中的path,然后通过服务器返回的path去调用do_miaosha_static,应该无法做到你说的“只会发送无用的请求到服务端”。这些请求明明就是有效的啊。 3. 限流我是理解的,主要就是防暴露接口这边,我想了很久都理解不了。可以说验证码技术是为了防刷和削峰,但是防止接口暴露我认为只能防止有人提前拿到接口然后用工具去刷。反正在秒杀开始后,服务器都会返回秒杀地址的,那么,只要有人想刷,无非就是先从服务器获得秒杀地址,再根据秒杀地址秒杀而已。 4.如果可以的话,希望您能具体说一下“只会发送无用的请求”的意思,我认为发送的请求不是无效的,是会正常走流程的。

请问这个项目已经做完了吗?