最近在做Adsen全用户模拟点击的事情,经过我一段时间的摸索,我基本上否决了这个方案,我能提取Adsense显示广告链接,这个东西在前端就能通过JavaScript在用户端进行提取,但是当具体需要提取广告链接的时候,由于Adsense点击链接是在显示链接网页内的。所以需要对Adsense Show链接网页进行提取Adsense Click点击链接,而提取Adsense Click链接是不能进行跨域操作,也就是如果你在你网页放置Adsense代码显示广告,但是Adsense广告实际上有个ifrmae,一个iframe是对代码的检测载入,以及对另一个iframe的加载,首先我能对Adsense显示链接也就是Show Link进行客户端解析出来,第二步也就是需要对解析出来的Show Link再进行加载提权源码解析Click Link,这一步是通过客户端无法完成的,只有Click Link这个Url的www.googleadservices.com域名下的网页才能通过脚本对页面进行解析操作DOM,除非该域名授权可以运行你进行跨域名操作,否则是不可能实现客户端全模拟点击。 二:对于使用代理主机解析出Adsense Click Link的方法,首先这个方法是通过代理主机的IP借助PHP或者其他服务器脚本,进行源代码分析提取出Click Link,首先这Click Link是真对主机ip区域以及操作系统浏览器等参数进行推送的,如果将这个Click Link给客户点击;会造成与匹配广告投放原则不相关,如果大量刷的话;广告商会对广告效果进行筛查的话,发现其中的无效点击的话,会对Adsense进行投诉进而Adsense小组进行查找相关违规发布商。如果不能以客户机端脚本处理操作Adsense的话,一切作弊都是肯定会被发现的;除非能全模拟操作系统;浏览器;IP;区域,语言等问题模拟点击全部如网站流量来源,refers,以及停留间隔,广告可见率等参数. 三:关于跨域的几点问题:第一首先声明客户端跨域是绝对不能实现的,这不是JavaScript等脚本的原因;而是浏览器处于安全的制定的规则。首先什么是跨域,简单地理解就是因为JavaScript同源策略的限制,a.com 域名下的js无法操作b.com或是c.a.com域名下的对象。更详细的说明可以看下表 http://www.a.com/a.js http://www.a.com/b.js 同一域名下允许 http://www.a.com/lab/a.js http://www.a.com/script/b.js 同一域名下不同文件夹允许 http://www.a.com:8000/a.js http://www.a.com/b.js 同域名,不同端口不允许 http://www.a.com/a.js https://www.a.com/b.js 同一域名,不同协议不允许 http://www.a.com/a.js http://70.32.92.74/b.js 域名和域名对应ip不允许 http://www.a.com/a.js http://script.a.com/b.js 主域相同,子域不同不允许 http://www.a.com/a.js http://a.com/b.js 同一域名,不同二级域名(同上)不允许(cookie这种情况下也不允许访问) http://www.cnblogs.com/a.js http://www.a.com/b.js 不同域名不允许 我对跨域查找了很多资料;主流的跨域方法 1、Json跨域 2、CORS跨域 3,代理跨域 4、window.name实现 5、HTML5 postMessage 6、利用iframe和location.hash 7、document.domain+iframe的设置 8、动态创建script. 以上方法都是有局限性的;也就是你需要对客户端脚本和服务器控制权以及对数据传输格式有一定限制。 关于Jquery一个跨域脚本;cross-doamin.js其实是根本没有跨域;不过是借助yahoo服务器代理处理返回到客户机而已,不是真正的跨域。 8 O9 ?% F7 ]- M8 W# f( a
|