|
|
前言0 n; D o3 Y- ]2 t. i$ H
去年我说过要写个关于cookie stuffing(简称CS)的资料.开写了大部分后, 于去年9月份时中断
7 f2 q8 V; ^- N2 B) ^$ r后来断续又写了一点,还没写完.9 u0 }+ e- B2 m* e
现在决定暂时不用PDF形式发布,而是用贴子分几期在5月份发完.
5 p0 d4 ?. v. Z整个资料内容不涉及实战,以介绍方法为主,里面的代码来自老外,和本人无关,请注意了.
- w9 S; C" J# UOK,首先我还是重复下什么是cookie stuffing的概念: p& j; l4 T; }* a% @4 m
cookies是通过html中header(头部信息)传递的,除非浏览器的做了一定安全设置,否则是不会忽略这个信息的.; \; ?- Z8 u( i
既然cookies通过头部信息传送,那么,一个网页可以不必通过一个header传递,通过图片等方式也可以实现.
: m5 I3 ?; i3 o当一个浏览者向服务器发送一个图像请求时,在返回的页面之中,一个header已经被包括了.浏览器获得了header,就不需要管那些文章信息,一个cookies就是这样植入的.
9 o0 r2 Y7 b5 }& jcookie stuffing的存在是因为广告联盟用cookie来跟踪业绩.用最简单的话就是说,广告联盟给你一个链接,当他人点击了链接并购买了产品,你就获得了佣金.9 y& E, Y0 L0 m1 @9 j6 g- I4 u/ n
现在你知道了,就是要想办法让人多点击,你就可能得到更多提成.比如把广告图片放在你站上,并尽量使图片和网站融为一体.但可怜的是这样做效果很差,几乎没人点你的广告图片.0 Q1 E, b2 ^! x2 h! ]# j/ o
所以,怎样强制他人点击链接呢?从而cookie stuffing就这样被发明出来了.它的最终目标就是把affiliate cookies加入浏览者的电脑中,以投机取巧获取利益.
1 W5 u @4 M9 X+ ?看起来cookie stuffing是一种容易赚钱的方法.当然,广告联盟不是傻瓜,他们有很多办法能抓到你,这在以后会讲到的.3 h! z }2 m8 s# P$ C. G! c% h6 g7 ~
基本方法' S6 i" {* h9 E- [# D) _5 l
1. Image Stuffing0 N. d* a0 ?, m, u
cookie stuffing一般在开头会先讲这个Image Stuffing的,代码很简单,这里是个例子:0 c( \0 |: t: M" A4 G. K: ?
<img src=”http://www.advertcn.com/affiliatelink”>
) \/ y( Z3 m L6 J% I: Z' A2 Q9 G在大多数浏览器,它表现为一个大的红叉,看上去像是服务器出了毛病一样.
& D& s1 {& u" ~( B在国外大多数论坛有不少会员是专家,如果你在论坛用这个方法,会很容易被他们识破的.1 v# a/ n/ r2 A6 n
所以, 在实施一些方法前, 还有很多的东西要学.% B) z+ w8 Z, p3 G' q
回过来继续说Image Stuffing.为了不让用户发现,你不得不设置图片大小为1个像素,代码如下:; ~; Y9 x, I3 B
<img src=”http://www.advertcn.com/affiliatelink” height=1 width=1>
' I) ?1 {( m( B" o但这样还是会显示一个红叉,所以,再给它加上个alt标签,用来替换你想要的文本文字./ r; Y! h9 q5 K, g6 G
image tag stuff:
4 S+ Z1 D: b* G/ U4 n- R6 n<img src=”http://www.advertcn.com/affiliatelink” height=”1″ width=”1″ alt=” “>
. S! x4 T( I6 d; |, |% V! V3 ]& X然后,当它和其它方法结合在一起后,就成为cookie stuffing牢固的基石了,后面会继续讲到的./ T4 j# }0 |- U4 n
2. Iframe Stuffing$ g' q- z/ f/ N, [: }( e# |
Iframe对初学者来说相当容易理解(不知道Iframe为何物的,请自己查资料吧),以下是Iframe Stuffing的代码例子." H& `$ P) a) w- H7 Z
<iframe src=”http://www.advertcn.com/affiliatelink” height=”1″ width=”1″>5 r: ~* W- V# c. q6 A, W N! j
访问者来到你的网站后,就不知不觉的已打开窗口访问了商家的网站,也就是点击了http://www.advertcn.com/affiliatelink,因为这个Iframe的大小是1个像素,所以访问者毫无知觉.如果他们购买了东西,提成就是你的了.2 Y/ W" Y) k4 B- e# S+ I* E
Iframe Stuffing也很容易让你马上被banned.当然,也有办法隐蔽它,在后面我们会讨论到.
# h3 e) M3 q' f7 {3 o' C3. Javascript Stuffing6 A, m9 i$ f( s H& a$ p
很久以前-从互联网早期,到现在,有个东西叫弹窗的,可以说是最原始的强制植入cookie的方式.确切的说,属于不完全意义上的cookie stuffing.
2 s( g2 y- o0 _' C d ?" |5 Z效果是一样的,只是很令访问者反感.所以大多数浏览器有了可以锁定弹出式窗口的功能.
& s! B# e7 r# `3 h: G现在,我们来到了有点复杂的cookie stuffing的章节-Javascript Stuffing,这个需要一点程序知识,毕竟Javascript是一种脚本语言.因为较难明白,我们就跳过程序知识这部分.
# L. w4 H/ i+ V' M& t/ M1 z下面举个代码例子,并简单地解释一下它是如何工作的:% r( E! \1 j; D i
<script language=”JavaScript”>
2 n* P' X- Z' Z& I" t" w* |<!– window.focus();, z1 L/ L' X* W
setTimeout(“window.focus()”,900);' y: [( S; P! W# G
//–>
2 ^% V% w1 z6 Y! L</script>
8 h1 u$ w; W G: T+ A<script language=”javascript”>
7 U' r6 f, M* l5 p<!–8 ~7 s; R" s7 J$ Z1 Z, w
w=window.open(‘http://www.advertcn.com/affiliatelink’,'affiliate_description’);w.blur();5 t8 [5 R+ g2 j: l) @' z, _
//–>! d" @, e/ h& X! b7 L2 y
</script>
: N' z) s7 b* }/ B/ r& B5 z& j# ?这个独特的方法是过了设定时间后,打开弹出式窗口(商家的网站,或者是你的推广链接),并移离目前主窗口的视觉中心,放置于主窗口的后面,对访问者来说,就不那么烦人侵扰了.
7 z: E0 b# Z2 h2 z由于访问者其实已用你的链接打开了商家的网站,所以他们被植入了cookie.
+ R7 w1 R3 ]8 f0 _如果你懂得javascript,懂得弹出式窗口,够精通javascript编程的话,你应该有能力值得花些时间去改进发展Javascript Stuffing.
: p% U9 ?' j# V9 y% x# v但大多数时候,Javascript Stuffing已进入死胡同,发展余地已不大.
- o* _# G/ e* k6 c S1 N: d- i2 R后记:
: I" Q7 a. Z9 K. R, m; S1 C数年前,我在CB培训的群里,也给过学员类似的代码,不一样的在于,我给的是隐形弹窗,也就是说肉眼是看不见这个弹窗的.
9 p" V- I1 _9 R6 |# s3 J" o代码作者原本是出售这个程序的,后来05年取消了,改为到他网站上在线生成代码.现在他的网站已指向了别的地方,所以别问我要这个东西啊.0 [- `& ~2 g K3 q2 G/ g4 H1 @5 Q2 n
4. .htaccess stuffing 通常,即使是会点网站设计的人,也不一定知道.htaccess是什么.
7 H- r1 g# |$ R I& X$ i P.htaccess在大多数服务器是个隐藏文件,有时被默认是没有的,所以实际上需要我们建立一个.
% M& l8 w8 W M& r' {$ c2 X' Y.htaccess这个文件告诉服务器当一个特别条件相适应时,应该去干什么.- R6 d' ?' J0 Z5 Q
好了现在我们至少知道了什么是.htaccess文件,我们就开始复习Image Stuffing代码吧.
0 [9 ?& P/ c9 S9 C8 b3 K+ n比如说你在论坛的签名.1 \0 Z5 S0 N3 X/ f8 Q
<img src=” ”>- }/ A2 f5 N9 M
然后我们把以下htaccess文件传到空间里
9 i. `5 X# H/ }+ rRewriteEngine on: R, o( L$ c$ u7 E& Y
RewriteRule signature.jpg http://www.advertcn.com/affiliatelink/ [L,R=301]1 p% v: h1 {" K' f
这个htaccess是说,访问者在读取你的论坛签名里的图片时,会被转向到你的affiliate链接,这样他们就被植入了cookie.' _5 D% N. g6 E9 o3 O0 D ^ v- |: M3 g
那么,你的图片在浏览器里真正看上去是这样的:
( r- k$ x7 k0 @% ]<img src=”http://www.advertcn.com/affiliatelink”>
; E& L$ n+ R) V. r# t还记得前面讲到过的Image Stuffing吗?现在访问者看到的链接就是一个真实的图片了.
2 B. C3 b& n2 |' `9 L5. Flash Stuffing T0 n! h; l& M
关于Flash Stuffing这一部分,还可以参见一本书,CookieStuffingGuide,广告中国有下载,地址:1 f: b& C2 B+ Y y
http://advertcn.com/viewthread.php?tid=72234&extra=page%3D1
3 I/ F5 u* \0 K2 Y1 [1 b相信大家都玩过Flash游戏吧,可以使用键盘或鼠标操纵动画里的部分动作,交互性很强,这便是ActionScript的厉害之处,它与JavaScript结构类似,但是它的编程要容易得多., K4 B) S/ d6 M& s7 l
用ActionScript创作出来的动画具有很强的交互性,Flash程序脚本语言就是ActionScript,译作行动脚本.最近版本是3.0.
* {' ^# B& s- @- ?讲述Flash Stuffing,专业术语较多,我看资料时头也很大.所以,一些复杂的理论我跳过去省略掉.) g2 M# A2 @# R! z- s+ U
Flash几乎无可能对所发送的referer作假,所幸它有个可以利用的漏洞,那就是sendToURL().- r5 I5 X( `8 I2 _
ActionScript3.0里有个叫sendToURL()的功能,这个功能的设计是,发送信息到一个网站,但不用等待响应.+ k" r/ A5 z$ i0 Y
具体来说,sendToURL()发送一个URL到服务器确认,但不理睬任何响应.也就是说,它用访问者的浏览器(你的cookie stuffing”受害者”)提交一个请求到一个网站,但浏览器被假设为不理睬任何响应.. B) |1 O0 E$ \4 c- s- D+ i9 P2 q
但头部信息是不会被拒绝的,cookie能穿越sendToURL()未触及的功能通过去,cookie的植入自然也就无疑问.) |4 l1 i, E2 Q. o" b2 c
如果你会PHP的话,你可以指定哪个浏览器不发送空白的referers,以及阻止来自被发送到sendToURL()的信息.你还可以设定你的PHP文件指令,优化你想要的CTR比率,以保持稳定的收入.
: F6 _8 v% l' d- z此类程序有几种,有的已停止出售.最好是找人写一个针对特定联盟的.当然前提是联盟默许cookie stuffing.! {0 |0 j8 G4 _$ [" f
前面所讲到的每个cookie stuffing方法,不管是哪个,都会被联盟发现从而封掉你的账号.不信的话你可以多试试看,除非你发现了高手成功的方法.& k9 K6 Z+ E- l; z: ~) f* f
那么,联盟是怎样抓住你使用了cookie stuffing的呢?; U, r1 |6 H+ o
首先,image stuffing,包括和它相结合的.htaccess stuffing,被证明是无法改变referer的.
# _) j" d7 k4 X: \后面我会讲到如何改变iframes和弹出式窗口的referer.1 ~+ u; I4 H b0 e) Z: n3 S
其次,第二个察觉cookie stuffing的方法是blank referer,这个方法是合法的,但联盟会告诉你不行,或不给你一个明确的答复.$ v; O% O0 ~4 m3 C5 V$ j V
如果你用了blank referer,你认为该怎样解释?这里有2个选择:
, v$ E2 T) w2 a3 @+ r1:你偷偷摸摸地在做某种事情,也就是blackhat$ `$ v, r0 n% I" s5 F& i7 h5 R
2:你隐藏了流量来源.
5 }9 d8 v8 {# l) h7 K9 |那么,你会用哪个选择来回答联盟呢?1,还是2?- b1 A0 v7 i- e' p* D& u
我直接说吧,永远也不要说你在做blackhat的事情,只说你的流量来源是个机密.
( j- O9 Y5 B4 ~1 _# a然后你可能会收到电话或电子邮件,问你空白referer的来源,因此你事先要做好准备.
0 x# C2 C1 k4 r! y$ N# i第三个方法是他们用转化率来破解你是否用了cookie stuffers.- L- D9 o# K2 O/ g
什么是转化率?比方说,被你植入cookie的访问者都是潜在的消费者,如果他们没有消费或注册,或很少很少,你的转化率会显示很低.原因是你那些流量都是随机的乱七八糟的,不是目标流量,并没有真的点击了你的链接来到商家网站.
) V9 z: i5 h% }7 B1 p在大多数情况下,联盟不会封掉你的账号,他们仅委婉地告诉你: 你不能再推广那个任务,也许你会发现推广别的任务比较好.- y2 W7 ^( a9 H: d
第四个方法是联盟用CTR数据来发现你在emu.事实上,图片是不可能有100%的点击率的,这是affiliates界的尺度,所以要注意了.
7 r2 D$ A0 u7 M2 M) W最后,最坏的情况是,联盟从你收入的情况来判断你是否emu.' A( S2 c7 \5 Q7 R+ S
怎么判断的呢?联盟用某个一样的比例来衡量affiliates的收入.
( {$ t5 Y6 V; C1 @举个例子,假如一万个会员平均月收入是100美元,并有3个人超过了500美元一个月.那么,你会被列入那个人里面,被联盟重点照顾.# H% l8 C% C4 {: {) N- I! X
联盟不放过每个细节,对你仔细分析哪些是你做对的,哪些是做错的.这就是前面我提到过的,这种时候联盟会来调查电话问你空白流量的来源.- C' t( l+ s' g0 u. n# ]" a$ _" X
好了,现在我们已知道了联盟是怎样检查我们的,下一步我将讲解如何应对.
% v! d5 h0 B0 W在(四)里,我们大体已知道了联盟是怎样检查我们的,那么,现在该如何去应对它呢?以下内容是比较深的.
. n- X& Y/ x) k- P首先,必须接受这样的事实,在image stuffing里改变referer是不可能的,因此,除非你能承担和把风险降低到最低点,否则不要在网站或论坛搞image stuff.
1 l; ?" J4 x/ d) _. d8 m' t第二,学会如何适当地使用刷新代码.把iframe和刷新2者结合,referer信息将是空白的.
5 g6 y$ z5 U- T% w, S现在不是所有的浏览器都支持上面所说的第二点,因此我们得把它过滤掉.我们做成2个PHP跳转页面,先是第一个刷新页面到达第二个页面,第二个页面自动检查referer信息是否是空白.如果是,那么这个浏览器可以使用.然后我们就可以第二次刷新来到affiliate推广页面.
: q' q( j! P# c0 |5 z联盟将看到你的来了来源都是空白的.
1 J' \! n! g/ ]* w- j关于这个2次刷新脚本,不懂的话读者可以自己找人写个." J; t& {6 Z# X0 G: l: H
嗯,有的联盟已规定流量来源不可以是空白的,自然就不能用以上方法., S' g; @# @ ^/ u$ C
第三
) _" ^5 E% R1 y. y; o这个方法已用得很广泛了.如果访问者是通过搜索引擎来到你的网站,那么无疑,这时stuffing是相当安全的,联盟对此情况必定无话可说的.
% R9 d) q* B+ m/ \2 e& X' S那么我们可以这么做,让搜索引擎收录,比如雅虎的目录;让分类信息站收录,比如craigslist;再比如加入到ebay. 这些都是可以做到的几种不同的方法.3 ?+ Y: z1 P4 f. W1 w7 ]
我们可以用一个htaccess文件转到指定的affiliate链接的来源., Q$ h, H3 |1 m. M
或者我们可以写一个来源到数据库里,然后让被称为index.php的页面执行.我们可以告诉我们的PHP文件,对写好的某段代码做出决定,即使是来自某个站点的来源也可以改变.
/ x: i) P9 z8 ^& r' dif(substr((trim($_SERVER['HTTP_REFERER'])),0,23)==”http://www.google.com/”)" O& Y5 C/ @' j: u1 H8 g, U6 Z; k
{
/ Q/ f" |2 c; r4 u( \/ qecho “<img src=\”http://www.advertcn.com/affiliatelink” height=\”1\” width=\”1\” alt=\”\”>”;6 Q+ f: l* m4 e: b8 }
}
7 I5 c8 J% E' ]5 e现在我们要抛弃掉image stuff,使用加上刷新代码的iframe,或flash文件,用于植入特定的来源对象,没有任何限制.5 X/ u) c/ @3 f% i# O! P
这个程序能很好的平衡CTR和对流量来源的检验,还能避免你的AM被植入cookies.
; t# t7 a- m+ ~不过,需要懂些PHP程序方面的知识才行.如果没这个能力,可以考虑去威客平台找外包,在国外有Freelance programmers接这种活.国内的我觉得就别找了吧.
1 z- J* y) ?4 K A x3 m第四
& O6 k6 a" d$ e这是另一个不会引起别人警觉的在论坛植入cookies的方法,可以设置一个比例,让访问者随机被植入cookies. 比如说设置5%,那么,100个访问者里有5人会被植入cookies. 这个方法工作原理是怎么样的呢? 它有个名称叫动态.htaccess.它包含了2个图片文件和1个.htaccess文件.
. L; R# g2 i% w5 A( q. x/ p9 G当显示图片时,会适时地运行一PHP程序.
% e, ^7 M0 t% _5 d1 t现在我讲解一下这2个图片.
! t# p# P4 v! m5 _0 K第一个图片其实是假的,每次被访问会编辑.htaccess文件.我们设置一定的比例多少次图片1被图片2″覆盖”,比如5%.& ?- ]7 L: C) E6 K
下面的代码是5%的时间里时htaccess的写法:% L3 }" G4 k% |: k' R
RewriteEngine on
3 [% \! z7 R' v+ l) zRewriteRule signature.jpg signature.php [L,R=301]! ]0 c" l; U" }$ g
RewriteRule affiliatetracking_pixel.gif http://www.advertcn.com/affiliatelink [L,R=301]9 y% ]# \* A0 y3 |9 Q, |3 g
下面的代码是95%的时间里时,htaccess的写法:* L2 E1 E* |6 }0 E9 R; b+ C1 d
RewriteEngine on
, B7 g& P% T5 u. r6 A" CRewriteRule signature.jpg signature.php [L,R=301]
0 S# h5 x* h2 K5 \! HRewriteRule affiliatetracking_pixel.gif tp.gif [L,R=301]
# h. I( d1 _8 ~+ z' Q0 b* q就是说,95%的时候,在论坛看到的是正常的签名,5%的时候看到的是×.万一如果有人怀疑这个×,那么,他刷新一下帖子的页面后,看到的又是一个真实的图片.
' a3 |: k6 g1 K这是因为刷新后htaccess又被重写了.
8 p6 b; D) a% O- `7 M使用这个方法事先要注意是否容许在论坛推广,以及签名除了图片还可以使用文本.
$ K. I9 D) t$ v/ o* G- \第五
4 X J, J( I; v前面我们已知道,那个红叉是个麻烦问题.
x1 Q4 j5 Z9 s+ s% S/ h6 `但如果我们是在一般非技术论坛搞cookie植入的话,仅针对火狐浏览器用户植入就可,因为火狐浏览器不会显示红叉,这点它跟IE6/7不一样的.4 \* e' b# O6 t- K4 H" d2 i
这个方法的代码如下,由上往下读:
& F: X+ ^9 k% \- u) D! }Options +FollowSymlinks9 V# ~; f- Y2 E; r% m$ I* v
RewriteEngine on
+ P# M+ |$ E0 QRewriteCond %{HTTP_REFERER} !^$8 [$ D1 x9 W. a/ G, n! z4 m/ v
RewriteRule signature.jpg special.jpg [P,L] ^Mozilla/5.0.*$ [NC]# I. [. Q: d( |1 I. Y
RewriteRule signature.jpg http://www.advertcn.com/affiliatelink[R,L]
' d# v/ `) E) Q, j/ @ KRewriteCond %{HTTP_REFERER} ^$/ f x, f2 ^4 q3 d' j
RewriteRule signature.jpg special.jpg [P,L]- Z/ j5 C, F- _* W6 _- S4 T/ f4 c
RewriteCond %{HTTP_USER_AGENT}+ \# @: Y) u0 F$ g* U
简单的解读是,如果是火狐浏览器用户,就发送你的推广链接给他们,植入cookie,他们看不到红叉.
# J+ W+ n2 o o! H, i' I0 ?其余IE用户则看到的是真实的图片,不被植入cookie.
1 B' B% b& P7 S0 v5 @0 E2 `6 A这个方法相对来说简便易行.
) k! A) v; w! |结语
: x+ p2 i* |- a! K |1 @8 g$ Q关于cookie stuffing的秘密,到此算是讲完了,希望各位有所收获.此外,既然是秘密,如今公开了,就说明是有一定时效性的,故运用时需要自己加以改进.( ^4 j. Z1 t( N2 H! L, S* ]9 c
最后,谢谢大家阅读,我期待着有更多的积极性去写其它的内容. |
评分
-
查看全部评分
|