如果你还不知道问题的起因,请首先移步到这篇文章《[原创]从程序员角度分析安徽电信HTTP劫持的无耻行径,以及修改Hosts文件,使用OPENDNS无效情况下的解决方案》
我所深恶痛绝事情
其实以前对电信的网页劫持也早有所耳闻,只不过并不在意,因为基本上不影响工作。但是最近由于在做一个程序员的新闻阅读网站,需要抓取很多国外的优秀技术站点,就遇到了问题,导致正常的页面浏览也会跳转到广告页面(只因为其中用iframe嵌入了facebook.com的内容)。
问题描述:
打开 http://ajaxian.com/, http://dailyjs.com/, 或者http://yuiblog.com/ 这些站点时,网页都已经显示完整了,但是突然会跳转到http://www.taobao.com/go/act/mmbd/pd01.php?pid=mm_11691863_2326752_9007263。
后来在网上多方查证,我才知道这个是淘宝客的链接,有如下投诉为证:
http://timekiss.tk/archives/270
http://bbs.taobao.com/catalog/thread/154504-20244852--27604761.htm
http://hi.baidu.com/fuxudong/blog/item/c310cadc4a231eaecd116604.html
http://www.china-antivirus.com/Html/bdxy/jjfa/00597024.html
从这些链接中,我们可以看到这个淘宝客的ID是:
mm_11760149_1989319_8659876 (貌似这是联通搞的,真不知道是个人行为还是企业潜规则)
我这里的安徽电信掏出的淘宝页面的淘宝客ID是:
mm_11691863_2326752_9007263 (如果是电信内部个人行为的话,我真心的希望可爱的电信老大们能够查下这个内部蛀虫是谁)< /p>
注:并不是每次打开这些链接都会跳转到taobao的页面,下面我会分析其中原因(大概有50%的概率会跳转)。
程序员的思考与分析
作为一个天天写HTML,写CSS,写JavaScript的程序员,对于安徽电信的这种无耻行为还是很感兴趣的。到底是哪段代码导致广告页面从Iframe中跳转出来呢?我们来慢慢分析。
1. 首先打开ajaxian.com 时,内部会有ifrmae嵌入的facebook.com的页面。然后安徽电信会通过HTTP劫持直接返回状态吗为302 URL跳转指令,Iframe会被重定向到http://61.132.221.146/index_o.html。(这一过程在上篇文章中已经有详细描述)
2. 本来在Iframe中的广告页面怎么会替换顶级的ajaxian.com页面呢?我们来看下http://61.132.221.146/index_o.html的页面结构。
问题可能就出现在这个iframe中,因为最终的弹出页面就是这个“淘宝网热卖”。我们打开页面源代码,发现这个iframe的链接是:http://www.ibaigu.com/google.html (这个链接一看就是超级冒牌的钓鱼网站,又是ibaidu又是google,其实干的是龌龊勾当)
3. 在浏览器中打开这个链接http://www.ibaigu.com/google.html,发现居然跳转到淘宝商城。晕,居然在JavaScript里做手脚。
4. 那就先禁用JavaScript,让我们看看在http://www.ibaigu.com/google.html中到底是些什么鬼东西
哈哈,原来所有的东西都在这里。首先,如果在地址栏直接浏览这个网址,就跳转到淘宝商城,如果在iframe中打开这个网址,就随机的跳转到“31.html”或者“searchtao.html”!
不过我不得不鄙视写这段程序的程序员一下:你也太没敬业精神了,虽然写的程序不是很光彩,但也不能这么恶心吧。一个数组14个值,7个“31.html”,7个“searchtao.html”,那不就是说有50%的概率到“31.html”,有50%的概率到“searchtao.html”。
5. 那就来看下http://www.ibaigu.com/31.html 的源代码吧
终于找到你了!也就是说当我打开http://ajaxian.com/是,有50%的概率会直接在顶层窗口打开http://www.taobao.com/go/act/mmbd/pd01.php?pid=mm_11691863_2326752_9007263,整个流程如下:
剩下的问题
1. 这个淘宝客ID mm_11691863_2326752_9007263 是电信内部个人的呢,还是….
2. 电信是否被ibaidu.com 给耍了,因为有50%的概率会从电信的广告页面完全重定向到淘宝客的页面。
最后,这个神秘的淘宝客mm_11691863_2326752_9007263到底是谁,不知道凭借网络的力量,能否让这位神秘人物浮出水面?