|
|
前言3 r/ a, m& N7 P" M. m6 S- ~
去年我说过要写个关于cookie stuffing(简称CS)的资料.开写了大部分后, 于去年9月份时中断
& d& U+ Y. j7 i# p3 _3 q9 J% H后来断续又写了一点,还没写完.
" H' q( E5 g) f现在决定暂时不用PDF形式发布,而是用贴子分几期在5月份发完.& ^5 i( x. t S1 K# G
整个资料内容不涉及实战,以介绍方法为主,里面的代码来自老外,和本人无关,请注意了. % C" B3 ^' v; n* j/ Z& E' l
OK,首先我还是重复下什么是cookie stuffing的概念
+ s/ @3 v: @; D( Gcookies是通过html中header(头部信息)传递的,除非浏览器的做了一定安全设置,否则是不会忽略这个信息的.
$ t9 h0 Y+ ^% l3 B7 L既然cookies通过头部信息传送,那么,一个网页可以不必通过一个header传递,通过图片等方式也可以实现.7 ^3 M7 l' ?: W; O$ z5 A2 ~# k, C
当一个浏览者向服务器发送一个图像请求时,在返回的页面之中,一个header已经被包括了.浏览器获得了header,就不需要管那些文章信息,一个cookies就是这样植入的.% @) h, }6 W) b) F8 X
cookie stuffing的存在是因为广告联盟用cookie来跟踪业绩.用最简单的话就是说,广告联盟给你一个链接,当他人点击了链接并购买了产品,你就获得了佣金.
. |; H$ K/ v( _$ w0 ^4 T# W现在你知道了,就是要想办法让人多点击,你就可能得到更多提成.比如把广告图片放在你站上,并尽量使图片和网站融为一体.但可怜的是这样做效果很差,几乎没人点你的广告图片.
/ x' ]6 j2 e9 ^: k5 Q8 @所以,怎样强制他人点击链接呢?从而cookie stuffing就这样被发明出来了.它的最终目标就是把affiliate cookies加入浏览者的电脑中,以投机取巧获取利益.
! J2 U W0 z: J* O; H! J看起来cookie stuffing是一种容易赚钱的方法.当然,广告联盟不是傻瓜,他们有很多办法能抓到你,这在以后会讲到的.1 Y( r$ J! F/ z% @! R t+ A
基本方法
5 x* \+ t* C7 u# W1. Image Stuffing1 \' @2 |. D4 V0 O, B
cookie stuffing一般在开头会先讲这个Image Stuffing的,代码很简单,这里是个例子:6 Q8 S- O/ ^; ]( Q8 X
<img src=”http://www.advertcn.com/affiliatelink”>
' g3 i' [& |( Q9 H在大多数浏览器,它表现为一个大的红叉,看上去像是服务器出了毛病一样.
} h* @' I' m* n在国外大多数论坛有不少会员是专家,如果你在论坛用这个方法,会很容易被他们识破的.) N2 L k# v" g+ T7 G" d
所以, 在实施一些方法前, 还有很多的东西要学.
j! V% _) J2 _9 t- ?; O回过来继续说Image Stuffing.为了不让用户发现,你不得不设置图片大小为1个像素,代码如下:9 C5 u( R% b" _: M. f) Y# r, D( W+ n9 C
<img src=”http://www.advertcn.com/affiliatelink” height=1 width=1>
: m4 M z% j7 v但这样还是会显示一个红叉,所以,再给它加上个alt标签,用来替换你想要的文本文字.
% S6 K! x& b; c2 h" U) G3 @+ m" [image tag stuff:. t' M4 K/ R) p" p
<img src=”http://www.advertcn.com/affiliatelink” height=”1″ width=”1″ alt=” “>4 J$ l/ e& L8 P2 R. s2 r' R
然后,当它和其它方法结合在一起后,就成为cookie stuffing牢固的基石了,后面会继续讲到的.
* Y7 K6 i* Q$ s; F8 ^2. Iframe Stuffing) I, |( T" q! S$ K, d# A" h
Iframe对初学者来说相当容易理解(不知道Iframe为何物的,请自己查资料吧),以下是Iframe Stuffing的代码例子., W8 ]& ~0 U9 Q. b
<iframe src=”http://www.advertcn.com/affiliatelink” height=”1″ width=”1″>
/ c5 t/ A+ @; |访问者来到你的网站后,就不知不觉的已打开窗口访问了商家的网站,也就是点击了http://www.advertcn.com/affiliatelink,因为这个Iframe的大小是1个像素,所以访问者毫无知觉.如果他们购买了东西,提成就是你的了.: n. e f& q( q3 r) V/ h0 f
Iframe Stuffing也很容易让你马上被banned.当然,也有办法隐蔽它,在后面我们会讨论到.
9 P) F- V3 b0 |: t5 ^2 f3. Javascript Stuffing
9 k5 v0 k0 `4 f7 h N& e很久以前-从互联网早期,到现在,有个东西叫弹窗的,可以说是最原始的强制植入cookie的方式.确切的说,属于不完全意义上的cookie stuffing.
5 J) [1 J3 L* R R T" Z g) }- B效果是一样的,只是很令访问者反感.所以大多数浏览器有了可以锁定弹出式窗口的功能.
! K; j' V: \6 q/ c现在,我们来到了有点复杂的cookie stuffing的章节-Javascript Stuffing,这个需要一点程序知识,毕竟Javascript是一种脚本语言.因为较难明白,我们就跳过程序知识这部分.
5 [8 b+ @ S2 \* R$ N2 l下面举个代码例子,并简单地解释一下它是如何工作的:* ~2 n' d6 [5 m* @1 a- M
<script language=”JavaScript”>
1 R& Q8 A' C% X1 g$ P2 Z' W/ L<!– window.focus();5 C" i8 J! T# m: U' R* m% ]
setTimeout(“window.focus()”,900);
4 ^1 a! Z& E; c' P//–>
: Z2 @# @* a* ~) X9 J* D</script>
2 r" m5 ?4 Y6 W2 w0 x1 W2 `: f<script language=”javascript”>& n: {+ y. i1 Z& ?1 R, q& V
<!–
/ A) c6 R3 g; e+ W U* Zw=window.open(‘http://www.advertcn.com/affiliatelink’,'affiliate_description’);w.blur();
: g& d1 K1 U N- m2 O//–>8 ~; D3 K+ b1 b% n5 d( b G& s& ^
</script>3 g# @2 l+ c, o7 J6 I: H9 D
这个独特的方法是过了设定时间后,打开弹出式窗口(商家的网站,或者是你的推广链接),并移离目前主窗口的视觉中心,放置于主窗口的后面,对访问者来说,就不那么烦人侵扰了.
. H+ k& I6 V) j由于访问者其实已用你的链接打开了商家的网站,所以他们被植入了cookie.
* {7 Q4 Y- {. g i7 a; B如果你懂得javascript,懂得弹出式窗口,够精通javascript编程的话,你应该有能力值得花些时间去改进发展Javascript Stuffing.; ]1 j1 S u( r# t
但大多数时候,Javascript Stuffing已进入死胡同,发展余地已不大.' w/ b1 _# A( C
后记:9 c0 R7 \! z, y/ W$ b! {/ M% l3 u
数年前,我在CB培训的群里,也给过学员类似的代码,不一样的在于,我给的是隐形弹窗,也就是说肉眼是看不见这个弹窗的.
% b) @1 R) p$ v9 J代码作者原本是出售这个程序的,后来05年取消了,改为到他网站上在线生成代码.现在他的网站已指向了别的地方,所以别问我要这个东西啊.
0 [$ _ }+ p" B0 R; ]( _4. .htaccess stuffing 通常,即使是会点网站设计的人,也不一定知道.htaccess是什么.6 R( h$ Z7 V; u) T& Y K
.htaccess在大多数服务器是个隐藏文件,有时被默认是没有的,所以实际上需要我们建立一个.
7 s; Q* F" ~7 g) t' q+ \.htaccess这个文件告诉服务器当一个特别条件相适应时,应该去干什么.
5 N& |4 d/ s( ?% h- r+ H, k好了现在我们至少知道了什么是.htaccess文件,我们就开始复习Image Stuffing代码吧.
A9 ]2 B+ F" Z比如说你在论坛的签名.1 d- W( x* b( T1 G: c; |
<img src=” ”>
& J; J/ K# n8 z* w! ^0 C然后我们把以下htaccess文件传到空间里. c ]5 {8 P. s! H! A9 w
RewriteEngine on3 [& [& d( p) o3 ~/ W' m
RewriteRule signature.jpg http://www.advertcn.com/affiliatelink/ [L,R=301]
$ @! j/ X5 u/ ~, h这个htaccess是说,访问者在读取你的论坛签名里的图片时,会被转向到你的affiliate链接,这样他们就被植入了cookie.
, ], h; x- w) R/ _那么,你的图片在浏览器里真正看上去是这样的:
6 j6 T" D6 i4 k% p! r<img src=”http://www.advertcn.com/affiliatelink”>
& r e) h" y. U还记得前面讲到过的Image Stuffing吗?现在访问者看到的链接就是一个真实的图片了.* D {, m9 l' U$ \2 Q
5. Flash Stuffing- g' h1 @/ V' O& |' j
关于Flash Stuffing这一部分,还可以参见一本书,CookieStuffingGuide,广告中国有下载,地址:" `; v$ V% e4 K i- X; y' L9 Y
http://advertcn.com/viewthread.php?tid=72234&extra=page%3D1( n7 v5 T# a5 u1 B
相信大家都玩过Flash游戏吧,可以使用键盘或鼠标操纵动画里的部分动作,交互性很强,这便是ActionScript的厉害之处,它与JavaScript结构类似,但是它的编程要容易得多., {' |5 Z+ O7 P" }: i0 O& H
用ActionScript创作出来的动画具有很强的交互性,Flash程序脚本语言就是ActionScript,译作行动脚本.最近版本是3.0.
. U- E- r l- Q0 Y& G4 \讲述Flash Stuffing,专业术语较多,我看资料时头也很大.所以,一些复杂的理论我跳过去省略掉.
( [9 I% t% Q3 G4 v" c& zFlash几乎无可能对所发送的referer作假,所幸它有个可以利用的漏洞,那就是sendToURL().; h r+ c. ^2 ~5 `' W" ?
ActionScript3.0里有个叫sendToURL()的功能,这个功能的设计是,发送信息到一个网站,但不用等待响应.
9 }) x \$ ^! Y. A; }# T具体来说,sendToURL()发送一个URL到服务器确认,但不理睬任何响应.也就是说,它用访问者的浏览器(你的cookie stuffing”受害者”)提交一个请求到一个网站,但浏览器被假设为不理睬任何响应.$ L0 o+ r5 v, B' o! k! V, F! A' ~
但头部信息是不会被拒绝的,cookie能穿越sendToURL()未触及的功能通过去,cookie的植入自然也就无疑问." S9 z+ X0 t; ?7 T: O, u* K
如果你会PHP的话,你可以指定哪个浏览器不发送空白的referers,以及阻止来自被发送到sendToURL()的信息.你还可以设定你的PHP文件指令,优化你想要的CTR比率,以保持稳定的收入.& v8 d9 l/ U6 a& [
此类程序有几种,有的已停止出售.最好是找人写一个针对特定联盟的.当然前提是联盟默许cookie stuffing." C, O: } s, v3 H1 w) L9 T) J
前面所讲到的每个cookie stuffing方法,不管是哪个,都会被联盟发现从而封掉你的账号.不信的话你可以多试试看,除非你发现了高手成功的方法.
8 {1 A! |4 e- |9 a7 c' W' U/ N那么,联盟是怎样抓住你使用了cookie stuffing的呢?
2 N0 W3 k& G# _" m首先,image stuffing,包括和它相结合的.htaccess stuffing,被证明是无法改变referer的.3 F# h8 n$ w& ~, p
后面我会讲到如何改变iframes和弹出式窗口的referer.1 Y9 g/ e' P" O
其次,第二个察觉cookie stuffing的方法是blank referer,这个方法是合法的,但联盟会告诉你不行,或不给你一个明确的答复.0 H5 A" v. S& T7 f2 X
如果你用了blank referer,你认为该怎样解释?这里有2个选择:7 N+ H% N+ T# X( s
1:你偷偷摸摸地在做某种事情,也就是blackhat
7 e* C$ S! f: g( }* S! I9 t/ k2:你隐藏了流量来源.- e4 S+ X# A" |) B7 V. J
那么,你会用哪个选择来回答联盟呢?1,还是2?
; F" k K r. _/ @3 _5 @; E我直接说吧,永远也不要说你在做blackhat的事情,只说你的流量来源是个机密.4 o$ { a& R. ^
然后你可能会收到电话或电子邮件,问你空白referer的来源,因此你事先要做好准备.+ j' q6 J. O" _! N6 f
第三个方法是他们用转化率来破解你是否用了cookie stuffers.1 u% p @5 m8 P9 t, P
什么是转化率?比方说,被你植入cookie的访问者都是潜在的消费者,如果他们没有消费或注册,或很少很少,你的转化率会显示很低.原因是你那些流量都是随机的乱七八糟的,不是目标流量,并没有真的点击了你的链接来到商家网站.
5 ~+ F0 H" x, w( k" J在大多数情况下,联盟不会封掉你的账号,他们仅委婉地告诉你: 你不能再推广那个任务,也许你会发现推广别的任务比较好., e8 g. S, b- u' w( d
第四个方法是联盟用CTR数据来发现你在emu.事实上,图片是不可能有100%的点击率的,这是affiliates界的尺度,所以要注意了.
8 X3 f i" u3 @# u最后,最坏的情况是,联盟从你收入的情况来判断你是否emu.- {1 r0 P- e% x3 [! ?1 h. v k
怎么判断的呢?联盟用某个一样的比例来衡量affiliates的收入.
z$ B9 W* x! I7 J举个例子,假如一万个会员平均月收入是100美元,并有3个人超过了500美元一个月.那么,你会被列入那个人里面,被联盟重点照顾.) I& O: m6 u8 J
联盟不放过每个细节,对你仔细分析哪些是你做对的,哪些是做错的.这就是前面我提到过的,这种时候联盟会来调查电话问你空白流量的来源.
- P4 v, \# d6 y& N+ ^好了,现在我们已知道了联盟是怎样检查我们的,下一步我将讲解如何应对.
" `" K4 `; \' {" ?! Z8 C3 M在(四)里,我们大体已知道了联盟是怎样检查我们的,那么,现在该如何去应对它呢?以下内容是比较深的./ P7 E: }' v' E
首先,必须接受这样的事实,在image stuffing里改变referer是不可能的,因此,除非你能承担和把风险降低到最低点,否则不要在网站或论坛搞image stuff.
, `' S+ b4 o: I第二,学会如何适当地使用刷新代码.把iframe和刷新2者结合,referer信息将是空白的.+ M5 I5 K! S( e. d: e5 g
现在不是所有的浏览器都支持上面所说的第二点,因此我们得把它过滤掉.我们做成2个PHP跳转页面,先是第一个刷新页面到达第二个页面,第二个页面自动检查referer信息是否是空白.如果是,那么这个浏览器可以使用.然后我们就可以第二次刷新来到affiliate推广页面./ t# Q" f: }7 j
联盟将看到你的来了来源都是空白的.
' d3 l7 j* f: d1 ^9 v. D, y关于这个2次刷新脚本,不懂的话读者可以自己找人写个.
/ W8 p5 u2 `- _/ |" z嗯,有的联盟已规定流量来源不可以是空白的,自然就不能用以上方法.$ T2 B x6 t& y5 X- p* I
第三' i6 H, D( C' m3 F; \# t' r$ r
这个方法已用得很广泛了.如果访问者是通过搜索引擎来到你的网站,那么无疑,这时stuffing是相当安全的,联盟对此情况必定无话可说的.
7 W9 o6 B o1 o w9 G2 _那么我们可以这么做,让搜索引擎收录,比如雅虎的目录;让分类信息站收录,比如craigslist;再比如加入到ebay. 这些都是可以做到的几种不同的方法.
- w# m0 a$ a y+ C我们可以用一个htaccess文件转到指定的affiliate链接的来源.
, f/ a6 N3 C g* e# e8 r& U- e( e或者我们可以写一个来源到数据库里,然后让被称为index.php的页面执行.我们可以告诉我们的PHP文件,对写好的某段代码做出决定,即使是来自某个站点的来源也可以改变.
6 z {/ g( M1 V6 f; \! Q# `if(substr((trim($_SERVER['HTTP_REFERER'])),0,23)==”http://www.google.com/”)5 I: v e( w# a& H3 t
{" y$ h3 b B" [/ ]8 k) U9 @
echo “<img src=\”http://www.advertcn.com/affiliatelink” height=\”1\” width=\”1\” alt=\”\”>”;
( Z; |9 H2 ~* Z8 K& ~9 n J, Q}' g: l" A E7 e: r
现在我们要抛弃掉image stuff,使用加上刷新代码的iframe,或flash文件,用于植入特定的来源对象,没有任何限制.
1 c1 D# S G. Y8 w) s这个程序能很好的平衡CTR和对流量来源的检验,还能避免你的AM被植入cookies.6 R) U7 J4 l- p, e! s( J D8 Q" }
不过,需要懂些PHP程序方面的知识才行.如果没这个能力,可以考虑去威客平台找外包,在国外有Freelance programmers接这种活.国内的我觉得就别找了吧.' d' i$ u6 x! `; e1 d7 {
第四 Q% R! t8 ^4 X: N
这是另一个不会引起别人警觉的在论坛植入cookies的方法,可以设置一个比例,让访问者随机被植入cookies. 比如说设置5%,那么,100个访问者里有5人会被植入cookies. 这个方法工作原理是怎么样的呢? 它有个名称叫动态.htaccess.它包含了2个图片文件和1个.htaccess文件.
; ?) w0 G: M$ w* ~6 g当显示图片时,会适时地运行一PHP程序.0 ]) q, [' {3 {9 T0 _
现在我讲解一下这2个图片.
* a' q' s+ O$ t" j/ p第一个图片其实是假的,每次被访问会编辑.htaccess文件.我们设置一定的比例多少次图片1被图片2″覆盖”,比如5%.
: ]/ F7 F/ T* Z下面的代码是5%的时间里时htaccess的写法:
# F9 K9 J% l) a1 g! L4 lRewriteEngine on
9 Y( R/ p! G! V9 s6 `; RRewriteRule signature.jpg signature.php [L,R=301]: a7 F5 C5 h- Z& D! y& C+ L
RewriteRule affiliatetracking_pixel.gif http://www.advertcn.com/affiliatelink [L,R=301]
# B. _& `8 F6 q7 \. ?8 y9 ]下面的代码是95%的时间里时,htaccess的写法:! m% j& {: F8 M0 A1 J9 @: `0 k
RewriteEngine on
8 }# Z8 W- o' t1 S: |1 o2 |/ {% zRewriteRule signature.jpg signature.php [L,R=301]4 N; S) C/ v' |( N/ D- T
RewriteRule affiliatetracking_pixel.gif tp.gif [L,R=301]% l4 P+ l- [$ V, w! w% X: _& w
就是说,95%的时候,在论坛看到的是正常的签名,5%的时候看到的是×.万一如果有人怀疑这个×,那么,他刷新一下帖子的页面后,看到的又是一个真实的图片.
* A1 M4 Z. ?! k0 C8 v这是因为刷新后htaccess又被重写了.- N' s6 [5 t3 y6 s5 f
使用这个方法事先要注意是否容许在论坛推广,以及签名除了图片还可以使用文本.
' X, o$ `% F4 k第五 K S, J: K3 b2 d2 ?+ q
前面我们已知道,那个红叉是个麻烦问题.
0 `4 |2 ?5 k- ]4 C$ ^但如果我们是在一般非技术论坛搞cookie植入的话,仅针对火狐浏览器用户植入就可,因为火狐浏览器不会显示红叉,这点它跟IE6/7不一样的.
. [& d: l9 M$ E! O( Y4 A+ n这个方法的代码如下,由上往下读:
' y P0 r, W0 S' ^8 u. tOptions +FollowSymlinks0 l9 E( m; k" E' Q
RewriteEngine on
! M& p) J0 C+ x0 sRewriteCond %{HTTP_REFERER} !^$
- f0 ^. p1 t7 _RewriteRule signature.jpg special.jpg [P,L] ^Mozilla/5.0.*$ [NC]
2 `: O& e& Q! L$ h+ ]0 [RewriteRule signature.jpg http://www.advertcn.com/affiliatelink[R,L]
' g% B$ R& W9 B6 |4 x+ kRewriteCond %{HTTP_REFERER} ^$9 b4 J# t" I7 f5 w
RewriteRule signature.jpg special.jpg [P,L]) g/ c; O- R# W4 g
RewriteCond %{HTTP_USER_AGENT}; I; R& y( w9 {3 g0 b" x, V h. Q
简单的解读是,如果是火狐浏览器用户,就发送你的推广链接给他们,植入cookie,他们看不到红叉.4 K0 S4 E' l$ R3 }
其余IE用户则看到的是真实的图片,不被植入cookie.
# v f. A9 ^* U8 X; z这个方法相对来说简便易行.) f( q2 y2 r2 A0 ^; z
结语
: {& j% E! K$ s1 {& L) `+ N关于cookie stuffing的秘密,到此算是讲完了,希望各位有所收获.此外,既然是秘密,如今公开了,就说明是有一定时效性的,故运用时需要自己加以改进.5 o. o8 Q. d5 m. f
最后,谢谢大家阅读,我期待着有更多的积极性去写其它的内容. |
评分
-
查看全部评分
|