|
|
前言
, c( {" V* w+ u* s6 ~1 Q" G9 C去年我说过要写个关于cookie stuffing(简称CS)的资料.开写了大部分后, 于去年9月份时中断
) f" }0 |+ E" w4 c' K8 a后来断续又写了一点,还没写完.0 e. G( O: c3 O4 B7 W+ \! f
现在决定暂时不用PDF形式发布,而是用贴子分几期在5月份发完.
% W- K' j+ Z$ i& Q" D整个资料内容不涉及实战,以介绍方法为主,里面的代码来自老外,和本人无关,请注意了. ( I+ T* J6 w; h' `& U. c
OK,首先我还是重复下什么是cookie stuffing的概念4 V4 i1 Q3 [6 u0 K" h' ^
cookies是通过html中header(头部信息)传递的,除非浏览器的做了一定安全设置,否则是不会忽略这个信息的.5 e1 {5 I' t, m1 C
既然cookies通过头部信息传送,那么,一个网页可以不必通过一个header传递,通过图片等方式也可以实现.
1 W0 G; U4 ]) T- Y' P当一个浏览者向服务器发送一个图像请求时,在返回的页面之中,一个header已经被包括了.浏览器获得了header,就不需要管那些文章信息,一个cookies就是这样植入的.
) }( q5 o. a: R, Y+ ]+ i/ wcookie stuffing的存在是因为广告联盟用cookie来跟踪业绩.用最简单的话就是说,广告联盟给你一个链接,当他人点击了链接并购买了产品,你就获得了佣金.- U& J% V$ P* h* V
现在你知道了,就是要想办法让人多点击,你就可能得到更多提成.比如把广告图片放在你站上,并尽量使图片和网站融为一体.但可怜的是这样做效果很差,几乎没人点你的广告图片.
7 O/ q7 G1 i2 _! x所以,怎样强制他人点击链接呢?从而cookie stuffing就这样被发明出来了.它的最终目标就是把affiliate cookies加入浏览者的电脑中,以投机取巧获取利益.+ R. f3 W1 b3 Z2 S7 R
看起来cookie stuffing是一种容易赚钱的方法.当然,广告联盟不是傻瓜,他们有很多办法能抓到你,这在以后会讲到的.5 `3 u! K" s& W8 H" H0 j) Y/ g
基本方法+ ?% `* k& p) P/ L
1. Image Stuffing- O5 V9 f9 } f* p* t. G# c
cookie stuffing一般在开头会先讲这个Image Stuffing的,代码很简单,这里是个例子:0 \' p0 w* v. m
<img src=”http://www.advertcn.com/affiliatelink”>
2 W+ S8 H# o) I" Z5 i1 v在大多数浏览器,它表现为一个大的红叉,看上去像是服务器出了毛病一样.
1 y$ X- ^$ t( R在国外大多数论坛有不少会员是专家,如果你在论坛用这个方法,会很容易被他们识破的.
+ r1 Q/ R! o6 K c5 E所以, 在实施一些方法前, 还有很多的东西要学.( l2 g7 n- ~2 D3 e5 O/ x& ]7 m* ~
回过来继续说Image Stuffing.为了不让用户发现,你不得不设置图片大小为1个像素,代码如下:! a' O- C3 B |, c9 s: \
<img src=”http://www.advertcn.com/affiliatelink” height=1 width=1>5 x6 W: D! |& p2 |9 n& N% T) F
但这样还是会显示一个红叉,所以,再给它加上个alt标签,用来替换你想要的文本文字.
" a2 E, g( x* a/ c/ Z9 Oimage tag stuff:
* T- v4 _4 h+ s<img src=”http://www.advertcn.com/affiliatelink” height=”1″ width=”1″ alt=” “>
7 D7 R& A- b& N% Q( e' h: x; \然后,当它和其它方法结合在一起后,就成为cookie stuffing牢固的基石了,后面会继续讲到的.& H3 f! q6 n. m) D2 n
2. Iframe Stuffing. d6 P; W P3 J! y+ i
Iframe对初学者来说相当容易理解(不知道Iframe为何物的,请自己查资料吧),以下是Iframe Stuffing的代码例子.5 U1 m* P9 Y& ]2 y
<iframe src=”http://www.advertcn.com/affiliatelink” height=”1″ width=”1″>& b3 `! _/ `3 U& N- D; ~+ ~5 P
访问者来到你的网站后,就不知不觉的已打开窗口访问了商家的网站,也就是点击了http://www.advertcn.com/affiliatelink,因为这个Iframe的大小是1个像素,所以访问者毫无知觉.如果他们购买了东西,提成就是你的了.
& M( s" ]/ a' `: \) b2 G% Q4 k- ?6 TIframe Stuffing也很容易让你马上被banned.当然,也有办法隐蔽它,在后面我们会讨论到.
- d- k( N: L' `4 o- L3 d! }3. Javascript Stuffing* w0 z ]9 i0 |5 m
很久以前-从互联网早期,到现在,有个东西叫弹窗的,可以说是最原始的强制植入cookie的方式.确切的说,属于不完全意义上的cookie stuffing.
/ }0 K' U. M, q5 t& O) K, y效果是一样的,只是很令访问者反感.所以大多数浏览器有了可以锁定弹出式窗口的功能." f9 u( X. ^: [5 w% W) `
现在,我们来到了有点复杂的cookie stuffing的章节-Javascript Stuffing,这个需要一点程序知识,毕竟Javascript是一种脚本语言.因为较难明白,我们就跳过程序知识这部分.0 } }- ~( V, w- V* p+ p! n, f% q
下面举个代码例子,并简单地解释一下它是如何工作的:
2 D4 N) f5 K/ `# B<script language=”JavaScript”>
8 u& f! S! j. @: ]<!– window.focus();8 f8 A) g" b; n6 u) S/ O
setTimeout(“window.focus()”,900);, ~' h4 l% X7 {# X' I# a
//–>" M7 W" d$ ?; V$ m* {, I( P
</script>
& e) T0 b. D7 u<script language=”javascript”>
4 I3 R: p2 ?8 {1 b<!– _( w* B0 M' v. t) o* C& K
w=window.open(‘http://www.advertcn.com/affiliatelink’,'affiliate_description’);w.blur();5 V7 U2 @7 z( S% o' W
//–>
5 `7 h8 {7 a! q2 W4 ^</script>/ c; {+ a4 b: a/ Y3 b
这个独特的方法是过了设定时间后,打开弹出式窗口(商家的网站,或者是你的推广链接),并移离目前主窗口的视觉中心,放置于主窗口的后面,对访问者来说,就不那么烦人侵扰了.
3 G! e' z5 Q' }* |# v由于访问者其实已用你的链接打开了商家的网站,所以他们被植入了cookie.
5 f& j$ t7 |1 J如果你懂得javascript,懂得弹出式窗口,够精通javascript编程的话,你应该有能力值得花些时间去改进发展Javascript Stuffing.
4 ]" `8 P Q6 z7 E但大多数时候,Javascript Stuffing已进入死胡同,发展余地已不大.' @* \% @1 q V5 O: T1 k$ u
后记:
; A5 H p! l% m5 p* C数年前,我在CB培训的群里,也给过学员类似的代码,不一样的在于,我给的是隐形弹窗,也就是说肉眼是看不见这个弹窗的.9 }% J0 }% T/ W; a" {: S4 N
代码作者原本是出售这个程序的,后来05年取消了,改为到他网站上在线生成代码.现在他的网站已指向了别的地方,所以别问我要这个东西啊.
' C, s+ Y+ B! v# \6 ?4 n2 f4. .htaccess stuffing 通常,即使是会点网站设计的人,也不一定知道.htaccess是什么.
1 C5 G9 n* ?$ l& S# S) R.htaccess在大多数服务器是个隐藏文件,有时被默认是没有的,所以实际上需要我们建立一个.
$ V: k$ }8 E# ^1 I& R* O! H.htaccess这个文件告诉服务器当一个特别条件相适应时,应该去干什么.! \" b/ C' i/ Z# Z0 l
好了现在我们至少知道了什么是.htaccess文件,我们就开始复习Image Stuffing代码吧.1 U5 U- Y/ T7 {
比如说你在论坛的签名.
9 d0 Q. u) p n9 Y) q* k<img src=” ”>" |/ k6 `8 Q- m$ t# I! l
然后我们把以下htaccess文件传到空间里' n2 @/ X7 W8 k/ h4 W8 x3 N) e
RewriteEngine on
/ B/ O) d. t8 v3 B8 w" oRewriteRule signature.jpg http://www.advertcn.com/affiliatelink/ [L,R=301]
# S9 c( p. k$ K8 d8 V' P8 F这个htaccess是说,访问者在读取你的论坛签名里的图片时,会被转向到你的affiliate链接,这样他们就被植入了cookie.
8 ^7 b6 s! p- I7 ?( {9 V2 e那么,你的图片在浏览器里真正看上去是这样的:: y& H7 D4 o: l5 z: b: p2 x
<img src=”http://www.advertcn.com/affiliatelink”>
- T; K* T! x3 M) A4 ~+ w) q还记得前面讲到过的Image Stuffing吗?现在访问者看到的链接就是一个真实的图片了.: Q: s( l2 T: i- s" L1 n
5. Flash Stuffing
5 ^" r5 P( ?" ?. D5 Y关于Flash Stuffing这一部分,还可以参见一本书,CookieStuffingGuide,广告中国有下载,地址:
) H, _5 G5 x- u5 n4 Ihttp://advertcn.com/viewthread.php?tid=72234&extra=page%3D1- b) F- S/ t' E5 d8 ]
相信大家都玩过Flash游戏吧,可以使用键盘或鼠标操纵动画里的部分动作,交互性很强,这便是ActionScript的厉害之处,它与JavaScript结构类似,但是它的编程要容易得多.% S+ p* D3 I1 ]! |4 B7 n B' b
用ActionScript创作出来的动画具有很强的交互性,Flash程序脚本语言就是ActionScript,译作行动脚本.最近版本是3.0.- [1 R7 s, T: W7 z
讲述Flash Stuffing,专业术语较多,我看资料时头也很大.所以,一些复杂的理论我跳过去省略掉.
" G# g" x9 m- p4 t: S! I: q9 bFlash几乎无可能对所发送的referer作假,所幸它有个可以利用的漏洞,那就是sendToURL().! g6 w! |3 l! x- K3 Z F
ActionScript3.0里有个叫sendToURL()的功能,这个功能的设计是,发送信息到一个网站,但不用等待响应.
. A# e$ ~( c# H具体来说,sendToURL()发送一个URL到服务器确认,但不理睬任何响应.也就是说,它用访问者的浏览器(你的cookie stuffing”受害者”)提交一个请求到一个网站,但浏览器被假设为不理睬任何响应.
3 N$ m( y6 ]" ]! Q2 W但头部信息是不会被拒绝的,cookie能穿越sendToURL()未触及的功能通过去,cookie的植入自然也就无疑问.: d8 ]1 o" u% K* f2 a2 ^
如果你会PHP的话,你可以指定哪个浏览器不发送空白的referers,以及阻止来自被发送到sendToURL()的信息.你还可以设定你的PHP文件指令,优化你想要的CTR比率,以保持稳定的收入.
5 [/ ^+ ?& D3 D6 M* [- g# @此类程序有几种,有的已停止出售.最好是找人写一个针对特定联盟的.当然前提是联盟默许cookie stuffing.
( k: u+ ` r1 f' y& j前面所讲到的每个cookie stuffing方法,不管是哪个,都会被联盟发现从而封掉你的账号.不信的话你可以多试试看,除非你发现了高手成功的方法.
+ g8 e1 G7 L9 @那么,联盟是怎样抓住你使用了cookie stuffing的呢?2 V$ U$ f( L8 Q# k, B6 j
首先,image stuffing,包括和它相结合的.htaccess stuffing,被证明是无法改变referer的.
2 E) G$ b4 {8 e2 |: b) Y! z7 b后面我会讲到如何改变iframes和弹出式窗口的referer.! i9 X, D+ G( e; s
其次,第二个察觉cookie stuffing的方法是blank referer,这个方法是合法的,但联盟会告诉你不行,或不给你一个明确的答复.
- m- x/ K0 ~$ R, J% p7 T r. Y) l% n如果你用了blank referer,你认为该怎样解释?这里有2个选择:
' {+ O+ Z; L! _( @4 u4 t! F1:你偷偷摸摸地在做某种事情,也就是blackhat0 K- m$ ] N f1 V1 b* {
2:你隐藏了流量来源.0 i8 C8 o& z1 X: o- r
那么,你会用哪个选择来回答联盟呢?1,还是2?# B5 w; h' r+ v1 f9 V
我直接说吧,永远也不要说你在做blackhat的事情,只说你的流量来源是个机密.9 F' C5 b3 f; {: C: G5 v; u
然后你可能会收到电话或电子邮件,问你空白referer的来源,因此你事先要做好准备.7 b6 r6 S2 I1 ?7 u' N
第三个方法是他们用转化率来破解你是否用了cookie stuffers.+ {# F5 i3 x9 @& s g
什么是转化率?比方说,被你植入cookie的访问者都是潜在的消费者,如果他们没有消费或注册,或很少很少,你的转化率会显示很低.原因是你那些流量都是随机的乱七八糟的,不是目标流量,并没有真的点击了你的链接来到商家网站.
: R& L8 H: R, g( P在大多数情况下,联盟不会封掉你的账号,他们仅委婉地告诉你: 你不能再推广那个任务,也许你会发现推广别的任务比较好.
3 s: d" ?* {) n3 v( \. t第四个方法是联盟用CTR数据来发现你在emu.事实上,图片是不可能有100%的点击率的,这是affiliates界的尺度,所以要注意了.
# r+ l5 G. L% t1 H+ U3 f最后,最坏的情况是,联盟从你收入的情况来判断你是否emu.
) }2 n& B' |/ T: `" c X怎么判断的呢?联盟用某个一样的比例来衡量affiliates的收入.
3 b H7 d7 x' n% ~7 D* E( a举个例子,假如一万个会员平均月收入是100美元,并有3个人超过了500美元一个月.那么,你会被列入那个人里面,被联盟重点照顾.
# ^1 K/ O& }6 w" h, u% @联盟不放过每个细节,对你仔细分析哪些是你做对的,哪些是做错的.这就是前面我提到过的,这种时候联盟会来调查电话问你空白流量的来源.
# d7 J3 b/ d- {7 C( V3 c* T/ Z好了,现在我们已知道了联盟是怎样检查我们的,下一步我将讲解如何应对.
( l1 b0 A2 @# A; x3 j0 w) V3 ~在(四)里,我们大体已知道了联盟是怎样检查我们的,那么,现在该如何去应对它呢?以下内容是比较深的.
0 \( b" b2 v1 x/ B$ K+ q1 m6 Z0 u5 ?首先,必须接受这样的事实,在image stuffing里改变referer是不可能的,因此,除非你能承担和把风险降低到最低点,否则不要在网站或论坛搞image stuff.
* a* k; |, B$ M8 H: {6 f第二,学会如何适当地使用刷新代码.把iframe和刷新2者结合,referer信息将是空白的.4 p6 F. R8 I$ G, \: D5 T* Y! v
现在不是所有的浏览器都支持上面所说的第二点,因此我们得把它过滤掉.我们做成2个PHP跳转页面,先是第一个刷新页面到达第二个页面,第二个页面自动检查referer信息是否是空白.如果是,那么这个浏览器可以使用.然后我们就可以第二次刷新来到affiliate推广页面.
6 d6 X/ f9 `! }2 X- r% X6 C: p联盟将看到你的来了来源都是空白的.% A& N+ c- L; D( Q
关于这个2次刷新脚本,不懂的话读者可以自己找人写个.
! v/ A7 h( d5 @3 y, q+ H嗯,有的联盟已规定流量来源不可以是空白的,自然就不能用以上方法.
6 w0 K! {3 R, d. p第三) q' e N1 h6 g
这个方法已用得很广泛了.如果访问者是通过搜索引擎来到你的网站,那么无疑,这时stuffing是相当安全的,联盟对此情况必定无话可说的.
# |* k! w% m0 M那么我们可以这么做,让搜索引擎收录,比如雅虎的目录;让分类信息站收录,比如craigslist;再比如加入到ebay. 这些都是可以做到的几种不同的方法.! X7 J1 s& c$ }' G8 [- n, J) w" q2 @6 F9 x
我们可以用一个htaccess文件转到指定的affiliate链接的来源.) s4 |: v" U/ e$ B0 ?
或者我们可以写一个来源到数据库里,然后让被称为index.php的页面执行.我们可以告诉我们的PHP文件,对写好的某段代码做出决定,即使是来自某个站点的来源也可以改变.+ j& R- x* ?3 p! F
if(substr((trim($_SERVER['HTTP_REFERER'])),0,23)==”http://www.google.com/”)3 ]8 V# o1 X0 W
{
& j; Z: d; u# ^+ i; `. Gecho “<img src=\”http://www.advertcn.com/affiliatelink” height=\”1\” width=\”1\” alt=\”\”>”;
5 D- O" G% E1 X& Q# `- a6 z}5 s5 N$ J u1 F* K2 r1 Z% o- D
现在我们要抛弃掉image stuff,使用加上刷新代码的iframe,或flash文件,用于植入特定的来源对象,没有任何限制.
+ _$ ?0 K9 F0 c( {这个程序能很好的平衡CTR和对流量来源的检验,还能避免你的AM被植入cookies.4 T- S& t t& J) C4 u; w
不过,需要懂些PHP程序方面的知识才行.如果没这个能力,可以考虑去威客平台找外包,在国外有Freelance programmers接这种活.国内的我觉得就别找了吧.2 i# z# I9 [, k1 P( X' o7 y
第四
/ [) {+ K, R: p; ], i这是另一个不会引起别人警觉的在论坛植入cookies的方法,可以设置一个比例,让访问者随机被植入cookies. 比如说设置5%,那么,100个访问者里有5人会被植入cookies. 这个方法工作原理是怎么样的呢? 它有个名称叫动态.htaccess.它包含了2个图片文件和1个.htaccess文件.
8 k+ u. b; \+ R; E7 _/ v# Z; |当显示图片时,会适时地运行一PHP程序.. Q# T; J5 T; H' w1 m' A) Y5 H
现在我讲解一下这2个图片.: a% D( u1 {- s2 a( S6 e5 H7 B
第一个图片其实是假的,每次被访问会编辑.htaccess文件.我们设置一定的比例多少次图片1被图片2″覆盖”,比如5%.
! p- Z' _" n& m1 h! w* @8 Y9 q下面的代码是5%的时间里时htaccess的写法:
+ Q! i; P: M* S3 S sRewriteEngine on& d0 b0 R- y I8 F" w
RewriteRule signature.jpg signature.php [L,R=301]4 M2 m% D! N+ L( b1 b' t' t
RewriteRule affiliatetracking_pixel.gif http://www.advertcn.com/affiliatelink [L,R=301] R+ [( O1 v# ` n6 Z' |8 |; c% E' c
下面的代码是95%的时间里时,htaccess的写法:
6 M& U$ ~6 `" t3 ], KRewriteEngine on6 v3 x8 ^9 x, F, e* |; W& x6 Z
RewriteRule signature.jpg signature.php [L,R=301]
a @( Z( p" u/ S; {; ZRewriteRule affiliatetracking_pixel.gif tp.gif [L,R=301]
3 Z9 U( D# e2 M( C就是说,95%的时候,在论坛看到的是正常的签名,5%的时候看到的是×.万一如果有人怀疑这个×,那么,他刷新一下帖子的页面后,看到的又是一个真实的图片.* e6 Z5 S+ e& Y2 G9 f1 T
这是因为刷新后htaccess又被重写了./ j! n3 o6 |8 q- F
使用这个方法事先要注意是否容许在论坛推广,以及签名除了图片还可以使用文本.: p% e- d. H7 a7 S$ W, w' _/ u% [. ~
第五
" k; G" D0 `* c7 Q' g; w! k前面我们已知道,那个红叉是个麻烦问题.. Q5 F& H" x3 M% n
但如果我们是在一般非技术论坛搞cookie植入的话,仅针对火狐浏览器用户植入就可,因为火狐浏览器不会显示红叉,这点它跟IE6/7不一样的.
) y- I2 E% k7 r9 z5 H3 {这个方法的代码如下,由上往下读:& S, @; _/ D) m, \9 R5 Y
Options +FollowSymlinks' h0 C8 I. q8 E: B
RewriteEngine on n* Y7 r! r7 s9 n: g+ w$ |5 K2 _
RewriteCond %{HTTP_REFERER} !^$
4 L# ]' d2 ^" e, {RewriteRule signature.jpg special.jpg [P,L] ^Mozilla/5.0.*$ [NC]8 y. f5 x3 Y3 J! o! i. |
RewriteRule signature.jpg http://www.advertcn.com/affiliatelink[R,L]) Y! a7 V9 ?$ l9 x
RewriteCond %{HTTP_REFERER} ^$; j7 P( @9 N6 d( p6 \
RewriteRule signature.jpg special.jpg [P,L]; F* A6 u9 l8 p& W
RewriteCond %{HTTP_USER_AGENT}) ?9 o5 u( N* h; A6 A
简单的解读是,如果是火狐浏览器用户,就发送你的推广链接给他们,植入cookie,他们看不到红叉., ]0 y% u' g- |: I( l4 S. m
其余IE用户则看到的是真实的图片,不被植入cookie.2 O6 b/ V( j, k& ]1 P2 E8 `
这个方法相对来说简便易行.
, a3 v- T7 M; k: {3 e* ~* f, g: V5 h结语
+ H2 o: Z( b( J6 J( m关于cookie stuffing的秘密,到此算是讲完了,希望各位有所收获.此外,既然是秘密,如今公开了,就说明是有一定时效性的,故运用时需要自己加以改进.
r& X3 h; G* S最后,谢谢大家阅读,我期待着有更多的积极性去写其它的内容. |
评分
-
查看全部评分
|