|
前言
1 \& z5 ^) {; M' F$ M/ k& \去年我说过要写个关于cookie stuffing(简称CS)的资料.开写了大部分后, 于去年9月份时中断/ I' a4 x& |) D
后来断续又写了一点,还没写完.
8 F8 b: D( A4 I5 k4 ~) X2 H现在决定暂时不用PDF形式发布,而是用贴子分几期在5月份发完.
2 P+ q+ j! ?* C整个资料内容不涉及实战,以介绍方法为主,里面的代码来自老外,和本人无关,请注意了. 3 V$ i9 A; Z R$ B
OK,首先我还是重复下什么是cookie stuffing的概念3 R) e5 s" P8 @, q1 ]5 ^7 @7 A
cookies是通过html中header(头部信息)传递的,除非浏览器的做了一定安全设置,否则是不会忽略这个信息的.6 c. T7 ]1 i: z a
既然cookies通过头部信息传送,那么,一个网页可以不必通过一个header传递,通过图片等方式也可以实现.' u( Z4 H S# I5 s+ l
当一个浏览者向服务器发送一个图像请求时,在返回的页面之中,一个header已经被包括了.浏览器获得了header,就不需要管那些文章信息,一个cookies就是这样植入的.
+ f0 Z7 h" p7 a3 jcookie stuffing的存在是因为广告联盟用cookie来跟踪业绩.用最简单的话就是说,广告联盟给你一个链接,当他人点击了链接并购买了产品,你就获得了佣金.2 Q9 O" {* K8 o+ t' T
现在你知道了,就是要想办法让人多点击,你就可能得到更多提成.比如把广告图片放在你站上,并尽量使图片和网站融为一体.但可怜的是这样做效果很差,几乎没人点你的广告图片.7 u* y) O: d7 f% d# [' @$ K
所以,怎样强制他人点击链接呢?从而cookie stuffing就这样被发明出来了.它的最终目标就是把affiliate cookies加入浏览者的电脑中,以投机取巧获取利益., R* }' B7 B/ P. }
看起来cookie stuffing是一种容易赚钱的方法.当然,广告联盟不是傻瓜,他们有很多办法能抓到你,这在以后会讲到的." O# r; o6 L$ O1 O5 u' B3 A
基本方法
+ O( I( O7 t" w6 C/ d' s% R1. Image Stuffing1 Q! M* j1 q4 {8 g8 n8 W6 @, u, y& @
cookie stuffing一般在开头会先讲这个Image Stuffing的,代码很简单,这里是个例子:
$ h" c/ c1 q# w8 Y<img src=”http://www.advertcn.com/affiliatelink”> `8 d7 G) e* S p4 M$ k4 s+ P
在大多数浏览器,它表现为一个大的红叉,看上去像是服务器出了毛病一样.( t( t- O! }" C/ ~" X
在国外大多数论坛有不少会员是专家,如果你在论坛用这个方法,会很容易被他们识破的.
. g' R0 J8 a3 t; M; @5 A3 f所以, 在实施一些方法前, 还有很多的东西要学.
5 ~$ G% t3 j# T I, }9 q回过来继续说Image Stuffing.为了不让用户发现,你不得不设置图片大小为1个像素,代码如下:0 u& v0 q% _; x: w( k- ]
<img src=”http://www.advertcn.com/affiliatelink” height=1 width=1>/ ?+ e6 {6 |/ z2 B( g# y
但这样还是会显示一个红叉,所以,再给它加上个alt标签,用来替换你想要的文本文字.* h. T4 n0 ?3 I( p
image tag stuff:
; S- E' Z/ ? T0 U0 ^<img src=”http://www.advertcn.com/affiliatelink” height=”1″ width=”1″ alt=” “>( ?7 K1 ?( c6 s( Z+ X
然后,当它和其它方法结合在一起后,就成为cookie stuffing牢固的基石了,后面会继续讲到的.- D# m3 }/ ^- ~8 ]5 l& t
2. Iframe Stuffing# t& }# M! F J7 h8 A* }' Z f7 Q( d
Iframe对初学者来说相当容易理解(不知道Iframe为何物的,请自己查资料吧),以下是Iframe Stuffing的代码例子.
& K) R' J3 c4 K/ I {2 k3 c<iframe src=”http://www.advertcn.com/affiliatelink” height=”1″ width=”1″> M- t6 S% X% ^8 A- y
访问者来到你的网站后,就不知不觉的已打开窗口访问了商家的网站,也就是点击了http://www.advertcn.com/affiliatelink,因为这个Iframe的大小是1个像素,所以访问者毫无知觉.如果他们购买了东西,提成就是你的了.! A8 t7 g. `/ l( B5 _
Iframe Stuffing也很容易让你马上被banned.当然,也有办法隐蔽它,在后面我们会讨论到.
; ]" l5 ^5 \2 ]$ S, K3. Javascript Stuffing
2 ~# Y9 {& I$ |! \: u/ H很久以前-从互联网早期,到现在,有个东西叫弹窗的,可以说是最原始的强制植入cookie的方式.确切的说,属于不完全意义上的cookie stuffing.
4 G) _+ I5 o0 b$ [0 ~! [7 e效果是一样的,只是很令访问者反感.所以大多数浏览器有了可以锁定弹出式窗口的功能.1 g1 E5 C6 B# E# V5 b1 p" s0 b" z4 L
现在,我们来到了有点复杂的cookie stuffing的章节-Javascript Stuffing,这个需要一点程序知识,毕竟Javascript是一种脚本语言.因为较难明白,我们就跳过程序知识这部分.
* q! @" ]5 h' _8 o& }4 l7 g下面举个代码例子,并简单地解释一下它是如何工作的:
4 ~# L5 N4 T7 @<script language=”JavaScript”>! M4 d# J+ a; d4 f' ]. M6 g
<!– window.focus();
" w) h; L' i1 ^0 @3 zsetTimeout(“window.focus()”,900);, g! s' F# j2 m( g
//–> S0 W- e5 P) z2 R/ H1 l' n) U) _
</script>
3 x; J3 `+ t, |+ Z- P4 |# K3 ]<script language=”javascript”>6 f' B7 e2 M& g! d b
<!–! K4 l6 I. t7 |# U$ z) O" O+ N
w=window.open(‘http://www.advertcn.com/affiliatelink’,'affiliate_description’);w.blur();9 G/ r- _) M+ P" A C H3 [0 x1 `
//–>3 P" k- q' M K( @" I4 _+ l
</script>+ H& C6 v1 @0 x2 S
这个独特的方法是过了设定时间后,打开弹出式窗口(商家的网站,或者是你的推广链接),并移离目前主窗口的视觉中心,放置于主窗口的后面,对访问者来说,就不那么烦人侵扰了.$ c: o h, D1 O7 ]# }
由于访问者其实已用你的链接打开了商家的网站,所以他们被植入了cookie.* r' }) _' G1 d9 `3 |
如果你懂得javascript,懂得弹出式窗口,够精通javascript编程的话,你应该有能力值得花些时间去改进发展Javascript Stuffing.
5 E9 M" l' }6 u9 M: W1 A* c+ u但大多数时候,Javascript Stuffing已进入死胡同,发展余地已不大.
w- |3 T$ D* \# w0 F5 u& e% j后记:# |* p5 I* X) ~2 V
数年前,我在CB培训的群里,也给过学员类似的代码,不一样的在于,我给的是隐形弹窗,也就是说肉眼是看不见这个弹窗的.; u1 I {3 A' A+ M5 n) D4 j
代码作者原本是出售这个程序的,后来05年取消了,改为到他网站上在线生成代码.现在他的网站已指向了别的地方,所以别问我要这个东西啊.
) s/ m+ C( l% k1 ~: N# |: h3 v4. .htaccess stuffing 通常,即使是会点网站设计的人,也不一定知道.htaccess是什么.6 `3 V# G" K5 y/ Z& ^! n
.htaccess在大多数服务器是个隐藏文件,有时被默认是没有的,所以实际上需要我们建立一个.
2 ]$ ^6 O$ ^9 i/ D.htaccess这个文件告诉服务器当一个特别条件相适应时,应该去干什么.
j# s) e1 q$ o o2 \+ d. n好了现在我们至少知道了什么是.htaccess文件,我们就开始复习Image Stuffing代码吧.
0 q! f" }. k0 B: w Z. [比如说你在论坛的签名.
1 ?9 l! Y: w# M( C& e1 e<img src=” ”>! |6 t2 m* O! G0 O& a
然后我们把以下htaccess文件传到空间里
9 w; R: H. n' ORewriteEngine on' o" @& V) B h- i, h
RewriteRule signature.jpg http://www.advertcn.com/affiliatelink/ [L,R=301]6 K# K. I9 b8 i7 z- L9 j
这个htaccess是说,访问者在读取你的论坛签名里的图片时,会被转向到你的affiliate链接,这样他们就被植入了cookie.
0 Z2 s& G8 a8 g6 a" V- y# _8 ]那么,你的图片在浏览器里真正看上去是这样的:5 |( L: ~: Y0 J3 [3 Z4 W
<img src=”http://www.advertcn.com/affiliatelink”>6 L1 C }4 ?" x$ Y9 Y% K
还记得前面讲到过的Image Stuffing吗?现在访问者看到的链接就是一个真实的图片了.
0 c3 G1 c! S, Q5. Flash Stuffing
\9 \4 Z# p1 v# O B, n) U关于Flash Stuffing这一部分,还可以参见一本书,CookieStuffingGuide,广告中国有下载,地址:3 W! `7 r5 t" a- N; @
http://advertcn.com/viewthread.php?tid=72234&extra=page%3D15 }& l, k2 Z6 o
相信大家都玩过Flash游戏吧,可以使用键盘或鼠标操纵动画里的部分动作,交互性很强,这便是ActionScript的厉害之处,它与JavaScript结构类似,但是它的编程要容易得多.
% Z. g* D# H4 Q4 e# {4 e用ActionScript创作出来的动画具有很强的交互性,Flash程序脚本语言就是ActionScript,译作行动脚本.最近版本是3.0.. i7 p& s9 l1 b
讲述Flash Stuffing,专业术语较多,我看资料时头也很大.所以,一些复杂的理论我跳过去省略掉." A. |# z, U# n3 z( k! d- s; L
Flash几乎无可能对所发送的referer作假,所幸它有个可以利用的漏洞,那就是sendToURL().
0 H, ] F/ }& jActionScript3.0里有个叫sendToURL()的功能,这个功能的设计是,发送信息到一个网站,但不用等待响应.# @- s1 \" W& P6 _ `6 Y+ e
具体来说,sendToURL()发送一个URL到服务器确认,但不理睬任何响应.也就是说,它用访问者的浏览器(你的cookie stuffing”受害者”)提交一个请求到一个网站,但浏览器被假设为不理睬任何响应.1 A: A4 r9 G" y' j8 L' K
但头部信息是不会被拒绝的,cookie能穿越sendToURL()未触及的功能通过去,cookie的植入自然也就无疑问., q8 C$ i9 R0 t7 J1 |- n
如果你会PHP的话,你可以指定哪个浏览器不发送空白的referers,以及阻止来自被发送到sendToURL()的信息.你还可以设定你的PHP文件指令,优化你想要的CTR比率,以保持稳定的收入.
1 M w6 O2 L) _5 ], Q- s此类程序有几种,有的已停止出售.最好是找人写一个针对特定联盟的.当然前提是联盟默许cookie stuffing.
8 d1 v3 ~* T9 q7 [% a4 W前面所讲到的每个cookie stuffing方法,不管是哪个,都会被联盟发现从而封掉你的账号.不信的话你可以多试试看,除非你发现了高手成功的方法.
0 j+ `* t# o. P E) e8 G那么,联盟是怎样抓住你使用了cookie stuffing的呢?" H) I2 S" ?9 D$ R1 W
首先,image stuffing,包括和它相结合的.htaccess stuffing,被证明是无法改变referer的.7 h% M: J7 `2 t% V, N
后面我会讲到如何改变iframes和弹出式窗口的referer., ~6 S3 E E2 f T0 w+ l" [/ G, `
其次,第二个察觉cookie stuffing的方法是blank referer,这个方法是合法的,但联盟会告诉你不行,或不给你一个明确的答复.+ p$ C! h; L* `/ z
如果你用了blank referer,你认为该怎样解释?这里有2个选择:: a3 u8 t& H' k" e1 R8 ~
1:你偷偷摸摸地在做某种事情,也就是blackhat2 H$ G- c! p) Q: q
2:你隐藏了流量来源.2 ^+ J$ p# y! ?
那么,你会用哪个选择来回答联盟呢?1,还是2?
" y F3 V0 D" U7 S我直接说吧,永远也不要说你在做blackhat的事情,只说你的流量来源是个机密.3 C$ I$ Q& ]0 y, r }* @2 e6 S
然后你可能会收到电话或电子邮件,问你空白referer的来源,因此你事先要做好准备.
& J8 v2 ] D7 @9 _' o+ u第三个方法是他们用转化率来破解你是否用了cookie stuffers.
8 B% v' E4 }; N7 r/ ]( } T d2 [什么是转化率?比方说,被你植入cookie的访问者都是潜在的消费者,如果他们没有消费或注册,或很少很少,你的转化率会显示很低.原因是你那些流量都是随机的乱七八糟的,不是目标流量,并没有真的点击了你的链接来到商家网站.
% g7 n! u0 V: S0 W1 b. n在大多数情况下,联盟不会封掉你的账号,他们仅委婉地告诉你: 你不能再推广那个任务,也许你会发现推广别的任务比较好.0 M) h# o. d6 g; Y5 b, B* m; N# ?4 }
第四个方法是联盟用CTR数据来发现你在emu.事实上,图片是不可能有100%的点击率的,这是affiliates界的尺度,所以要注意了.
" S( @9 R. E- `) F7 u$ ?最后,最坏的情况是,联盟从你收入的情况来判断你是否emu.
3 d5 M. Z3 U, w: J. I. W. S$ h怎么判断的呢?联盟用某个一样的比例来衡量affiliates的收入.8 p- I/ j9 [8 e6 b
举个例子,假如一万个会员平均月收入是100美元,并有3个人超过了500美元一个月.那么,你会被列入那个人里面,被联盟重点照顾.* \& X" g. x1 D7 M& x: N
联盟不放过每个细节,对你仔细分析哪些是你做对的,哪些是做错的.这就是前面我提到过的,这种时候联盟会来调查电话问你空白流量的来源.; t9 y8 G# w7 N6 H9 X
好了,现在我们已知道了联盟是怎样检查我们的,下一步我将讲解如何应对.1 U% m3 e/ d4 z) W* ]# E0 t
在(四)里,我们大体已知道了联盟是怎样检查我们的,那么,现在该如何去应对它呢?以下内容是比较深的.! @, N9 `% \7 @- r) x: s
首先,必须接受这样的事实,在image stuffing里改变referer是不可能的,因此,除非你能承担和把风险降低到最低点,否则不要在网站或论坛搞image stuff.; U/ L0 }+ _6 O* M
第二,学会如何适当地使用刷新代码.把iframe和刷新2者结合,referer信息将是空白的.' `9 Q5 v$ V+ x0 L% v3 ^/ v5 H0 k
现在不是所有的浏览器都支持上面所说的第二点,因此我们得把它过滤掉.我们做成2个PHP跳转页面,先是第一个刷新页面到达第二个页面,第二个页面自动检查referer信息是否是空白.如果是,那么这个浏览器可以使用.然后我们就可以第二次刷新来到affiliate推广页面.' g: K, I8 p) Y( h
联盟将看到你的来了来源都是空白的.
7 Q. O) `' Q( m/ K! i" d2 j关于这个2次刷新脚本,不懂的话读者可以自己找人写个.4 H7 C V3 {8 C) l+ v& Q
嗯,有的联盟已规定流量来源不可以是空白的,自然就不能用以上方法.
8 l* Y+ j$ I+ u$ z$ V7 e$ c+ t7 A第三
* m" \) S2 C) q, O+ [这个方法已用得很广泛了.如果访问者是通过搜索引擎来到你的网站,那么无疑,这时stuffing是相当安全的,联盟对此情况必定无话可说的.+ n6 U$ ^* D, F/ i- A$ N
那么我们可以这么做,让搜索引擎收录,比如雅虎的目录;让分类信息站收录,比如craigslist;再比如加入到ebay. 这些都是可以做到的几种不同的方法.
' ?- J! _" P% e我们可以用一个htaccess文件转到指定的affiliate链接的来源.% R! l0 E/ G! V" q/ H0 [; U
或者我们可以写一个来源到数据库里,然后让被称为index.php的页面执行.我们可以告诉我们的PHP文件,对写好的某段代码做出决定,即使是来自某个站点的来源也可以改变.
8 R' M! R/ l5 c+ k; _2 U- Sif(substr((trim($_SERVER['HTTP_REFERER'])),0,23)==”http://www.google.com/”)
! R! J4 w- p' M- x' \{6 n! x3 |; X' |3 i! n D
echo “<img src=\”http://www.advertcn.com/affiliatelink” height=\”1\” width=\”1\” alt=\”\”>”;) V( T3 O U6 q1 e. b+ q
}
7 s3 P$ n6 `9 W3 P% e% m" V5 O现在我们要抛弃掉image stuff,使用加上刷新代码的iframe,或flash文件,用于植入特定的来源对象,没有任何限制./ N8 }9 T i( T; Q$ t
这个程序能很好的平衡CTR和对流量来源的检验,还能避免你的AM被植入cookies./ d4 x* x, v3 ]/ _: u' H
不过,需要懂些PHP程序方面的知识才行.如果没这个能力,可以考虑去威客平台找外包,在国外有Freelance programmers接这种活.国内的我觉得就别找了吧.
5 v7 m5 B0 z3 U: Y% Z7 C7 \% ~第四
- B3 q& E# z; ?' N* ?这是另一个不会引起别人警觉的在论坛植入cookies的方法,可以设置一个比例,让访问者随机被植入cookies. 比如说设置5%,那么,100个访问者里有5人会被植入cookies. 这个方法工作原理是怎么样的呢? 它有个名称叫动态.htaccess.它包含了2个图片文件和1个.htaccess文件.6 S- \1 O% G% D% ~+ j: E3 x
当显示图片时,会适时地运行一PHP程序.
. p1 A( |/ @! l5 N* V( f0 Z8 J现在我讲解一下这2个图片.) m5 s p- F3 q+ G6 @2 x/ I. x3 u
第一个图片其实是假的,每次被访问会编辑.htaccess文件.我们设置一定的比例多少次图片1被图片2″覆盖”,比如5%.
& A9 B% m. Z4 B下面的代码是5%的时间里时htaccess的写法:. n! H1 u2 J4 B# Y% Q3 Y, @
RewriteEngine on
/ g, B/ ^; y% WRewriteRule signature.jpg signature.php [L,R=301]5 {( ?& v8 p1 j, Z- Z6 o
RewriteRule affiliatetracking_pixel.gif http://www.advertcn.com/affiliatelink [L,R=301]
5 ^3 w- A0 |+ r- s6 u1 v下面的代码是95%的时间里时,htaccess的写法:
. U- N6 y% g8 {0 i1 oRewriteEngine on
3 R) c) N0 i) p$ w. p" L* TRewriteRule signature.jpg signature.php [L,R=301]/ m9 l( Z3 P( P% j! O' N" n8 ?! Q
RewriteRule affiliatetracking_pixel.gif tp.gif [L,R=301]9 o' }, Z2 ]5 U7 s: |6 p" s
就是说,95%的时候,在论坛看到的是正常的签名,5%的时候看到的是×.万一如果有人怀疑这个×,那么,他刷新一下帖子的页面后,看到的又是一个真实的图片.
6 J4 ]5 L5 y: T" ~/ ?3 y8 |这是因为刷新后htaccess又被重写了.3 S+ y( F6 K6 W2 X- S `
使用这个方法事先要注意是否容许在论坛推广,以及签名除了图片还可以使用文本.$ m2 ~3 m" F1 [
第五
5 p8 S3 P- b" ]- Q7 T前面我们已知道,那个红叉是个麻烦问题.
$ ]. V) P4 o" n- \4 _. i& o, D但如果我们是在一般非技术论坛搞cookie植入的话,仅针对火狐浏览器用户植入就可,因为火狐浏览器不会显示红叉,这点它跟IE6/7不一样的.. L1 j; R& G, q" U: z) B
这个方法的代码如下,由上往下读:3 e( S' s1 w% C6 `! u0 |1 G5 U4 q
Options +FollowSymlinks$ e( M: e+ p3 D
RewriteEngine on
* A' o$ r I3 m* \7 F! gRewriteCond %{HTTP_REFERER} !^$/ {" T: o) a+ X; d. L" G
RewriteRule signature.jpg special.jpg [P,L] ^Mozilla/5.0.*$ [NC]: _) b- L" b) s3 a: z. M7 u: H
RewriteRule signature.jpg http://www.advertcn.com/affiliatelink[R,L]
, e- `6 R3 T2 d7 MRewriteCond %{HTTP_REFERER} ^$$ m' d- \: F& F$ a9 _: }7 l
RewriteRule signature.jpg special.jpg [P,L]' Z6 g) k7 i5 c5 h
RewriteCond %{HTTP_USER_AGENT}
& b& S8 K! [4 D9 s9 c简单的解读是,如果是火狐浏览器用户,就发送你的推广链接给他们,植入cookie,他们看不到红叉.
0 a" |2 v1 {. K5 }' `7 G2 [其余IE用户则看到的是真实的图片,不被植入cookie.
" _! t# L. n1 v- Z' ^/ H3 H这个方法相对来说简便易行.
$ T6 F0 k! P+ r/ A: ^+ t结语9 h, c( K/ X* j( @
关于cookie stuffing的秘密,到此算是讲完了,希望各位有所收获.此外,既然是秘密,如今公开了,就说明是有一定时效性的,故运用时需要自己加以改进.
: h( S9 J9 g( }* A' ?最后,谢谢大家阅读,我期待着有更多的积极性去写其它的内容. |
评分
-
查看全部评分
|