博客已经成功切换为 Wordpress! My blog has been switched to Wordpress!

【扫盲】Cookie Stuffer,Cookie stuffing详解 简称 CS

技术分享 edwardfang 6年前 (2013-04-06) 156次浏览 1个评论
Cookie stuffing 的基本含义是:

通过网站上安装的特别的程序,把 Cookie 植入访问者的电脑里。

举个例子:我在论坛上放了某商家的广告,但广告词不吸引人,访问者没去点我的广告,而直接去商家的网站去看产品的介绍,并购买了产品. 由于访问者没去点我的广告,所以我没得到提成,尽管是我最早让他了解到产品的. Cookie stuffing 的实际意义就在于强行把 Cookie 植入访问者的电脑里,这样就不会丢失潜在的买单. 看起来这个做法不道德,但不算违法.

Cookies 是通过 html 中 header(头部信息)传递的,除非浏览器的做了一定安全设置,否则是不会忽略这个信息的。既然 cookies 通过头部信息传送,那么,一个网页可以不必通过一个 header 传递,通过图片等方式也可以实现.

当一个浏览者向服务器发送一个图像请求时,在返回的页面之中,一个 header 已经被包括了.浏览器获得了 header,就不需要管那些文章信息,一个 cookies 就是这样植入的。cookie stuffing 的存在是因为广告联盟用 cookie 来跟踪业绩.用最简单的话就是说,广告联盟给你一个链接,当他人点击了链接并购买了产品,你就获得了佣金。 现在你知道了,就是要想办法让人多点击,你就可能得到更多提成.比如把广告图片放在你站上,并尽量使图片和网站融为一体.但可怜的是这样做效果很差,几乎没人点你的广告图片。所以,怎样强制他人点击链接呢?从而 cookie stuffing 就这样被发明出来了.它的最终目标就是把 affiliate cookies 加入浏览者的电脑中,以投机取巧获取利益。

基本方法

1. Image Stuffing

cookie stuffing 一般在开头会先讲这个 Image Stuffing 的,代码很简单,这里是个例子:

img src=”插入 aff 地址”

在大多数浏览器,它表现为一个大的红叉,看上去像是服务器出了毛病一样。 在国外大多数论坛有不少会员是专家,如果你在论坛用这个方法,会很容易被他们识破的. 所以, 在实施一些方法前, 还有很多的东西要学.

回过来继续说 Image Stuffing.为了不让用户发现,你不得不设置图片大小为 1 个像素,代码如下:

img src=”插入 aff 地址” height=1 width=1

但这样还是会显示一个红叉,所以,再给它加上个 alt 标签,用来替换你想要的文本文字。

image tag stuff:

img src=”aff 地址” height=”1″ width=”1″ alt=” “

然后,当它和其它方法结合在一起后,就成为 cookie stuffing 牢固的基石了,后面会继续讲到的.


2. Iframe Stuffing

Iframe 对初学者来说相当容易理解(不知道 Iframe 为何物的,请自己查资料吧),以下是 Iframe Stuffing 的代码例子.

iframe src=”插入 aff 地址” height=”1″ width=”1″

访问者来到你的网站后,就不知不觉的已打开窗口访问了商家的网站,也就是点击了你的 aff 地址,。因为这个 Iframe 的大小是 1 个像素,所以访问者毫无知觉.如果他们购买了东西,提成就是你的了. Iframe Stuffing 也很容易让你马上被 banned.当然,也有办法隐蔽它,在后面我们会讨论到.


3. Javascript Stuffing

很久以前-从互联网早期,到现在,有个东西叫弹窗的,可以说是最原始的强制植入 cookie 的方式.确切的说,属于不完全意义上的 cookie stuffing. 效果是一样的,只是很令访问者反感.所以大多数浏览器有了可以锁定弹出式窗口的功能. 现在,我们来到了有点复杂的 cookie stuffing 的章节-Javascript Stuffing,这个需要一点程序知识,毕竟 Javascript 是一种脚本语言.因为较难明白,我们就跳过程序知识这部分.

下面举个代码例子,并简单地解释一下它是如何工作的:

script language=”JavaScript” 
!– window.focus();  
setTimeout(“window.focus()”,900);  
//– 
/script 
script language=”javascript” 
!–  
w=window.open(‘插入 aff 地址’,'affiliate_description’);w.blur();  
//– 
/script 

这个独特的方法是过了设定时间后,打开弹出式窗口(商家的网站,或者是你的推广链接),并移离目前主窗口的视觉中心,放置于主窗口的后面,对访问者来说,就不那么烦人侵扰了。由于访问者其实已用你的链接打开了商家的网站,所以他们被植入了 cookie。如果你懂得 javascript,懂得弹出式窗口,够精通 javascript 编程的话,你应该有能力值得花些时间去改进发展 Javascript Stuffing。但大多数时候,Javascript Stuffing 已进入死胡同,发展余地已不大。

4. .htaccess stuffing

通常,即使是会点网站设计的人,也不一定知道.htaccess 是什么. .htaccess 在大多数服务器是个隐藏文件,有时被默认是没有的,所以实际上需要我们建立一个. .htaccess 这个文件告诉服务器当一个特别条件相适应时,应该去干什么.

好了现在我们至少知道了什么是.htaccess 文件,我们就开始复习 Image Stuffing 代码吧.

比如说你在论坛的签名.

img src=”http://80.cm/ad.jpg”

然后我们把以下 htaccess 文件传到空间里

RewriteEngine on RewriteRule ad.jpg aff 地址 [L,R=301]

这个 htaccess 是说,访问者在读取你的论坛签名里的图片时,会被转向到你的 affiliate 链接,这样他们就被植入了 cookie.

那么,你的图片在浏览器里真正看上去是这样的:

img src=”aff 地址”


5. Flash Stuffing

相信大家都玩过 Flash 游戏吧,可以使用键盘或鼠标操纵动画里的部分动作,交互性很强,这便是 ActionScript 的厉害之处,它与 JavaScript 结构类似,但是它的编程要容易得多。 用 ActionScript 创作出来的动画具有很强的交互性,Flash 程序脚本语言就是 ActionScript,译作行动脚本.最近版本是 3.0。 讲述 Flash Stuffing,专业术语较多,我看资料时头也很大.所以,一些复杂的理论我跳过去省略掉。 Flash 几乎无可能对所发送的 referer 作假,所幸它有个可以利用的漏洞,那就是 sendToURL()。 ActionScript3.0 里有个叫 sendToURL()的功能,这个功能的设计是,发送信息到一个网站,但不用等待响应。 具体来说,sendToURL()发送一个 URL 到服务器确认,但不理睬任何响应.也就是说,它用访问者的浏览器(你的 cookie stuffing”受害者”)提交一个请求到一个网站,但浏览器被假设为不理睬任何响应。 但头部信息是不会被拒绝的,cookie 能穿越 sendToURL()未触及的功能通过去,cookie 的植入自然也就无疑问。 如果你会 PHP 的话,你可以指定哪个浏览器不发送空白的 referers,以及阻止来自被发送到 sendToURL()的信息。你还可以设定你的 PHP 文件指令,优化你想要的 CTR 比率,以保持稳定的收入。 此类程序有几种,有的已停止出售.最好是找人写一个针对特定联盟的.当然前提是联盟默许 cookie stuffing。

前面所讲到的每个 cookie stuffing 方法,不管是哪个,都会被联盟发现从而封掉你的账号.不信的话你可以多试试看,除非你发现了高手成功的方法。

那么,联盟是怎样抓住你使用了 cookie stuffing 的呢?

首先,image stuffing,包括和它相结合的.htaccess stuffing,被证明是无法改变 referer 的。后面我会讲到如何改变 iframes 和弹出式窗口的 referer.。

其次,第二个察觉 cookie stuffing 的方法是 blank referer,这个方法是合法的,但联盟会告诉你不行,或不给你一个明确的答复。

如果你用了 blank referer,你认为该怎样解释?这里有 2 个选择: 1:你偷偷摸摸地在做某种事情,也就是 blackhat 2:你隐藏了流量来源. 那么,你会用哪个选择来回答联盟呢?1,还是 2? 我直接说吧,永远也不要说你在做 blackhat 的事情,只说你的流量来源是个机密。然后你可能会收到电话或电子邮件,问你空白 referer 的来源,因此你事先要做好准备。 第三个方法是他们用转化率来破解你是否用了 cookie stuffers. 什么是转化率?比方说,被你植入 cookie 的访问者都是潜在的消费者,如果他们没有消费或注册,或很少很少,你的转化率会显示很低.原因是你那些流量都是随机的乱七八糟的,不是目标流量,并没有真的点击了你的链接来到商家网站. 在大多数情况下,联盟不会封掉你的账号,他们仅委婉地告诉你: 你不能再推广那个任务,也许你会发现推广别的任务比较好. 第四个方法是联盟用 CTR 数据来发现你在 emu.事实上,图片是不可能有 100%的点击率的,这是 affiliates 界的尺度,所以要注意了. 最后,最坏的情况是,联盟从你收入的情况来判断你是否 emu。 怎么判断的呢?联盟用某个一样的比例来衡量 affiliates 的收入。 举个例子,假如一万个会员平均月收入是 100 美元,并有 3 个人超过了 500 美元一个月.那么,你会被列入那个人里面,被联盟重点照顾。联盟不放过每个细节,对你仔细分析哪些是你做对的,哪些是做错的.这就是前面我提到过的,这种时候联盟会来调查电话问你空白流量的来源。

好了,现在我们已知道了联盟是怎样检查我们的,下一步我将讲解如何应对.

在(四)里,我们大体已知道了联盟是怎样检查我们的,那么,现在该如何去应对它呢?以下内容是比较深的.

首先 必须接受这样的事实,在 image stuffing 里改变 referer 是不可能的,因此,除非你能承担和把风险降低到最低点,否则不要在网站或论坛搞 image stuff。

第二 学会如何适当地使用刷新代码.把 iframe 和刷新 2 者结合,referer 信息将是空白的. 现在不是所有的浏览器都支持上面所说的第二点,因此我们得把它过滤掉.我们做成 2 个 PHP 跳转页面,先是第一个刷新页面到达第二个页面,第二个页面自动检查 referer 信息是否是空白.如果是,那么这个浏览器可以使用.然后我们就可以第二次刷新来到 affiliate 推广页面. 联盟将看到你的来了来源都是空白的. 关于这个 2 次刷新脚本,不懂的话读者可以自己找人写个.嗯,有的联盟已规定流量来源不可以是空白的,自然就不能用以上方法.

第三 这个方法已用得很广泛了.如果访问者是通过搜索引擎来到你的网站,那么无疑,这时 stuffing 是相当安全的,联盟对此情况必定无话可说的. 那么我们可以这么做,让搜索引擎收录,比如雅虎的目录;让分类信息站收录,比如 craigslist;再比如加入到 ebay. 这些都是可以做到的几种不同的方法. 我们可以用一个 htaccess 文件转到指定的 affiliate 链接的来源。或者我们可以写一个来源到数据库里,然后让被称为 index.php 的页面执行.我们可以告诉我们的 PHP 文件,对写好的某段代码做出决定,即使是来自某个站点的来源也可以改变.

if(substr((trim($_SERVER['HTTP_REFERER'])),0,23)==”http://www.google.com/”)  
{  
echo “img src=\”aff 地址” height=\”1\” width=\”1\” alt=\”\””;  
}

现在我们要抛弃掉 image stuff,使用加上刷新代码的 iframe,或 flash 文件,用于植入特定的来源对象,没有任何限制。这个程序能很好的平衡 CTR 和对流量来源的检验,还能避免你的 AM 被植入 cookies。不过,需要懂些 PHP 程序方面的知识才行.如果没这个能力,可以考虑去威客平台找外包,在国外有 Freelance programmers 接这种活.国内的我觉得就别找了吧。

第四 这是另一个不会引起别人警觉的在论坛植入 cookies 的方法,可以设置一个比例,让访问者随机被植入 cookies。比如说设置 5%,那么,100 个访问者里有 5 人会被植入 cookies. 这个方法工作原理是怎么样的呢? 它有个名称叫动态.htaccess.它包含了 2 个图片文件和 1 个.htaccess 文件。当显示图片时,会适时地运行一 PHP 程序。

现在我讲解一下这 2 个图片。第一个图片其实是假的,每次被访问会编辑.htaccess 文件.我们设置一定的比例多少次图片 1 被图片 2″覆盖”,比如 5%。

下面的代码是 5%的时间里时 htaccess 的写法:

RewriteEngine on  
RewriteRule signature.jpg signature.php [L,R=301]  
RewriteRule affiliatetracking_pixel.gif aff 地址 [L,R=301] 

下面的代码是 95%的时间里时,htaccess 的写法:

RewriteEngine on  
RewriteRule signature.jpg signature.php [L,R=301]  
RewriteRule affiliatetracking_pixel.gif tp.gif [L,R=301]

就是说,95%的时候,在论坛看到的是正常的签名,5%的时候看到的是×.万一如果有人怀疑这个×,那么,他刷新一下帖子的页面后,看到的又是一个真实的图片.

这是因为刷新后 htaccess 又被重写了.

使用这个方法事先要注意是否容许在论坛推广,以及签名除了图片还可以使用文本.


第五 前面我们已知道,那个红叉是个麻烦问题,但如果我们是在一般非技术论坛搞 cookie 植入的话,仅针对火狐浏览器用户植入就可,因为火狐浏览器不会显示红叉,这点它跟 IE6/7 不一样的。

这个方法的代码如下,由上往下读:

Options +FollowSymlinks  
RewriteEngine on  
RewriteCond %{HTTP_REFERER} !^$  
RewriteRule signature.jpg special.jpg [P,L] ^Mozilla/5.0.*$ [NC]  
RewriteRule signature.jpg aff 地址[R,L]  
RewriteCond %{HTTP_REFERER} ^$  
RewriteRule signature.jpg special.jpg [P,L]  
RewriteCond %{HTTP_USER_AGENT} 

简单的解读是,如果是火狐浏览器用户,就发送你的推广链接给他们,植入 cookie,他们看不到红叉.

其余 IE 用户则看到的是真实的图片,不被植入 cookie。这个方法相对来说简便易行的。


回味依旧 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:【扫盲】Cookie Stuffer,Cookie stuffing 详解 简称 CS
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)个小伙伴在吐槽
  1. 衣臣到此围观,您的文章写的真是惊为天人,泣鬼神了,佩服万分,发此评论以感涕零,再摆!!
    衣臣2013-04-14 14:14 回复