日期:2012-04-17 浏览次数:20591 次
10月6日后,Alexa排名规则有了重大的改变,而且一直在变,所以现在很多网站的排名都不稳定(包括作弊的)。而我今天揭密的内容用来作弊的话已经显得不够了。
Alexa Toolbar的大量代码是用HTML和Javascript来实现的,资源泄漏问题严重啊,真不知道它的设计者是怎么想的。Alexa Toolbar的程序实现原理在我以前的文章中也多多少少提到过,所以今天就不讲了。今天来讲一讲Alexa Toolbar发送的HTTP请求格式。
下面是Alexa Toolbar发送的GET请求部分:
GET /data/ezdy01DOo100QI?cli=10&dat=snba&ver=7.0&cdt=alx_vw=20&wid=16865&act=00000000000&ss=1024x768&bw=775&t=0&ttl=1125&vis=1&rq=2&url=http://20cn.net/~tabris17/ HTTP/1.1
将URL部分解码后得到:
/data/ezdy01DOo100QI?cli=10&dat=snba&ver=7.0& cdt=alx_vw=20&wid=16865&act=00000000000&ss=1024x768& bw=775&t=0&ttl=1125&vis=1&rq=2&url=http://20cn.net/~tabris17/
其中"ezdy01DOo100QI"是aid。
"cli=10&dat=snba&ver=7.0&cdt=alx_vw=20&"这部分是固定值。
wid是个随机数。
act数据包含了Alexa Toobar功能的被使用情况。
ss很明显是屏幕分辨率了。
bw是IE窗口的宽度。
t取值是0或1,和当前IE的window对象还有referrer有关。
ttl是当前页面打开速度,和Site Stats中的Speed有关。
vis表明IE是否显示工具条。
rq是对象计数器。
大家可以看到,URL部分没有什么奥妙之处,很容易伪造。以前要作弊的话只要大量伪造HTTP请求,不停发送就可以了,现在Alexa通过改进排名算法,杜绝了这种作弊方法。
奥妙之处在于Cookie部分,那里面保存了一些你的浏览隐私,所以Alexa把这部分数据加密了,通过一种类似于PGP的加密方法,你可以在Alexa Toolbar的代码中找到这个加密用的公钥 "d9adyz93472kb63z521t6e80wqpi56znb16fya6im3dr3xwe" (好长啊,看起来很难破解的样子)。密钥只有Alexa自己有啊,郁闷!