听__说
2016-09-01 00:11
MD5 有什么用呢!!!!!!目的又是什么呢!!!!对地址加密根本没有什么作用的
因为视频中判断用户发起秒杀的时间是否在商品秒杀活动时间范围之内是通过SQL语句来判断的,SQL语句如下:
UPDATE seckill
SET number = number-1
WHERE seckill_id=#{seckillId}
AND start_time <![CDATA[ <= ]]> #{killTime}
AND end_time >= #{killTime}
AND number > 0;
所以如果不按照暴露接口+md5验证的方式,那么所有时间内的秒杀都冲击到了数据库。当然你也可以不用这种方式,你可以在处理秒杀的service里面判断时间,让不符合秒杀活动时间的请求到不了数据库,你也可以使用其他的方式/技术来解决这个问题。
解释的好 学习了!
不能说没作用,如果不加密,用户截取了你的访问地址,他看到了当前秒杀ID为1000,他完全可以推测出其他的秒杀地址,或者说他可以造出一批地址;视频中秒杀在数据库中判断了秒杀时间,其他时间他自然是秒杀不到,但是对数据库也有一定的冲击,如果他用定时器或者循环秒杀软件,你的系统承受力是个问题;另一方面对于一些还没开始的秒杀,他模拟地址以后,完全可以用定时器一直访问。加密以后由于他拿不到混淆码,就只能通过点击链接进行秒杀……
Java高并发秒杀API之Service层
59898 学习 · 137 问题
相似问题