做网站就一般会关注网站广告,我是傻傻的做了近5年的网站后才被逼得想通过网站赚点钱,以维持空间和域名的费用,可惜一直是在倒贴!Google Adsense是我接触的第一个比较好的广告联盟,对于它如何通过show_ad.js这个js将广告显示出现很感兴趣对此也做过一些研究。但是Adsense的广告控制代码show_ad.js文件经过处理,增加了阅读的难道,并且所有的代码都封装在对象中,从而使其中的变量私有,这样的好处就是可以防止用户访问、修改其中的参数,所以我到现在还是不太清楚Adsense是如何控制显示的广告单元的数量的。

那么现在炒得火热的阿里妈妈在这一点上又做得怎么样的,好奇心的驱使下我下载并分析了阿里妈妈广告控制代码inf.js,结果成功地实现了在一个页面显示多任意多广告单元的目的,以前阿里妈妈并没有说一个页面不能显示多个广告,有人测试过能显示到21个,第22个就开始是空白了,现在阿里妈妈规定每页只能显示6个广告。

阿里妈妈没有对inf.js文件做任何的obfuscate(混码)和压缩处理,而且代码也写得十分的普通,不知是技术的原因还是太看不起做网站的了^_^。

很快我就找到了控制显示的广告单元数量的代码,在inf.js文件的第343到431行。实现的原理比较的简单就是在显示广告的页面增加了三个变量 (alimama_count,alimama_tcount,yc[alimama_pid])来控制这个页面能够显示的广告单元的总数(20个)(if(window.alimama_count > 20) { alimama_cans = false; }),及每个alimama_pid能够显示的广告数(1个)(if (yc[alimama_pid]>1){ alimama_cans = false;})

alimama_cans //用于控制广告单元是否显示
alimama_count //广告单元的数量
alimama_tcount //当前页面已经显示的广告单元的总数量
var yc = new Object;//保存每个alimama_pid已经显示的广告单元的数量。

所以我们只需要将阿里妈妈提供的广告代码变量定义部分改成如下样式就可以在一个页面无限地显示广告单元了(以下代码仅做样例,pid部分已用星号表示):

window.alimama_count=0;
window.alimama_tcount=0;
var yc = new Object;
yc[alimama_pid]=0;
var alimama_pid=”mm_10****85_117759_15****”;
var alimama_titlecolor=”0000FF”;
var alimama_descolor =”FFFF66″;
var alimama_bgcolor=”FFFFFF”;
var alimama_bordercolor=”E6E6E6″;
var alimama_linkcolor=”008000″;
var alimama_sizecode=”13″;
var alimama_width=250;
var alimama_height=60;
var alimama_type=2;

代码很简单直接,相信有点经验的人都很容易能看出来。以上都是技术性的分析,请别将此用于非法谋利途径,现在阿里妈妈也在抓作弊。

Tags:

http://blog.dngz.net/424.htm

我想发表对此文的评论 ...(没有弹出错误信息则说明评论成功,需要等待审核.)