关于天猫tmall砸金砖活动的技术讨论
图1:
图2:
图3:
图一为tmall首页的活动界面。
图二为点击”砸“按钮访问的地址,例如:http://promotion.taobao.com/tmall/furinkazan.do?we=1&time=1340024518&checkCode=2ca01e7d02d42ce1c41f78d71d86e400&ua=007W5gLJjOhwGAyGs3GY7nAcF0%3D%7CWxkLayIypeRlM9sPImHEZCwR1S3mI73ucxFXqw%3D%3D%7CW5kLaxORxFgwFkxGM7mwaDWZToUTkdRkLJsMhsKJyGoyFo2Gc%2Bp1%7CWxwLRCLq%7CW5wLRCLq%7CW5iMhSKJzGgwGIyGc7HYbjAcjgbiqdhgMBoMBhOR1GYzGE0HcxF1%7CW5gMhSLazGIzHIyFxRHEZjOcDkZTqdBuMRoMjwNxwGw2G8ymY4nAYDEaTQYDkdS4IhZMqyLq%7CW5gMhSLazGIzHIyFxRHEZjOcDkZTqdBuMRoMjwNxwGw2G8ymY4nAYDEaTQYDkdS4IhZMqyLq&RandomNum=1340024766875&stra=3&callback=VolBrickCb
图三为按钮的ID
现我在浏览器的地址栏做了一个点击按钮的脚本(每间隔1毫秒点击一下按钮):
javascript:setInterval(function(){document.getElementById("J_Vol_Brick_Btn").click()},1);void(0);
可是挂了一天还是不会中奖,间隔时间我也设置了各种情况了。
所以我想请问一下tmall是如何实现这么大的并发量以及如何防止用户刷奖品的呢?或者是有外网抽奖活动这方面经验的也可以分享一下!
------解决方案--------------------
------解决方案--------------------都是在服务端控制的
连我都能想到会有人作弊用脚本刷,天猫的技术人员会想不到么?
如果是我,我会想尽一切办法让投机取巧的人永远中不了!
------解决方案--------------------也许是组合拳:
1、记录IP地址,1小时内重复IP的请求直接过滤掉:返回成功但其实根本没进行抽奖;
2、为每次砸的机会生成随机数,RandomNum,如果RandomNum在服务器内存中检索不到的则直接过滤掉;
3、为每次访问该页面生成时间戳(并非常规格式时间,而是一个代号),时间戳范围内只有一次有效,无时间戳直接过滤掉;
4、上述三个值生成Hash并做简单加密,如果上述三个值跟Hash不一致,直接过滤掉;
其实,对于这种全民参与的,原则很简单:宁可错杀不可放过。
反正最终用户绝对不知道究竟是不是被错杀了。
所以我个人倾向于简单粗暴的招数,不需要真的那么复杂。
------解决方案--------------------我死命点,死命砸。什么都没。。。哎。。
------解决方案--------------------我昨天发现砸中砖的好像有重复,但是没有抓 图也只能作罢!
------解决方案--------------------昨天参加了,发现中不了,后来索性就不理了
------解决方案--------------------去年双11,淘宝网有那么多访问量。以往都down好次了。并发量大确实是网站要解决的主要问题之一。除了硬件比较强大外,当然程序上要做很多准备,毕竟硬件不能解决一切问题,而且成本太高。
淘宝说以后会开放他们的源码,以后可以看看他们是怎么处理高并发高访问的;有时最简单的方式效果也最好。
关于中奖这一说,也就不要信了,用软件的形式抽奖,后台能做太多事情控制了。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------太愤青了,都知道,程序做的抽奖,哪有公平的。难道只允许商家忽悠一帮用户没完没了的刷你的人气,还不准人有点贪念?
------解决方案--------------------投机也不是太容易滴,尤其是在这个大家都在投机的时代。。。
------解决方案--------------------没绑定手机号,无缘大奖
------解决方案--------------------我有同学砸出了4999.。。。
------解决方案--------------------
------解决方案--------------------前两天还能中几个红包,砸金砖毛都没砸出来一个。。。
------解决方案--------------------