|
|
前言" o8 B! n+ A: [! B; O+ x% C( K z
去年我说过要写个关于cookie stuffing(简称CS)的资料.开写了大部分后, 于去年9月份时中断+ F5 p4 [* T8 u( N
后来断续又写了一点,还没写完.. O6 t6 H2 S! `! B" _/ [9 L
现在决定暂时不用PDF形式发布,而是用贴子分几期在5月份发完./ r8 J- V4 n a
整个资料内容不涉及实战,以介绍方法为主,里面的代码来自老外,和本人无关,请注意了.
/ X: a- P+ V3 }* X+ `OK,首先我还是重复下什么是cookie stuffing的概念
* P6 @. o0 b: s$ p: B- J$ F9 Gcookies是通过html中header(头部信息)传递的,除非浏览器的做了一定安全设置,否则是不会忽略这个信息的.8 ~0 U8 h# S P7 R T
既然cookies通过头部信息传送,那么,一个网页可以不必通过一个header传递,通过图片等方式也可以实现.
% N; U: c; ~# ]* o1 x当一个浏览者向服务器发送一个图像请求时,在返回的页面之中,一个header已经被包括了.浏览器获得了header,就不需要管那些文章信息,一个cookies就是这样植入的.
$ [; J7 ~/ ^8 Z0 q& w' \cookie stuffing的存在是因为广告联盟用cookie来跟踪业绩.用最简单的话就是说,广告联盟给你一个链接,当他人点击了链接并购买了产品,你就获得了佣金.
# Q$ z4 x4 k: Z% v2 B现在你知道了,就是要想办法让人多点击,你就可能得到更多提成.比如把广告图片放在你站上,并尽量使图片和网站融为一体.但可怜的是这样做效果很差,几乎没人点你的广告图片.- x9 l& h: Y h: d4 Q4 P( t6 l
所以,怎样强制他人点击链接呢?从而cookie stuffing就这样被发明出来了.它的最终目标就是把affiliate cookies加入浏览者的电脑中,以投机取巧获取利益., C7 w7 }8 [( b! e0 H
看起来cookie stuffing是一种容易赚钱的方法.当然,广告联盟不是傻瓜,他们有很多办法能抓到你,这在以后会讲到的.
# ^3 r2 l4 V7 U5 `基本方法
# J( ?1 }5 v6 }! H/ J1. Image Stuffing1 k, O; }. J# c2 i
cookie stuffing一般在开头会先讲这个Image Stuffing的,代码很简单,这里是个例子:6 o4 ?* `3 [0 M
<img src=”http://www.advertcn.com/affiliatelink”>
5 `, N5 w$ |" A3 ]) w7 p9 l在大多数浏览器,它表现为一个大的红叉,看上去像是服务器出了毛病一样.
* ~+ L3 \4 H4 I0 k在国外大多数论坛有不少会员是专家,如果你在论坛用这个方法,会很容易被他们识破的.8 A4 N) b* B. @5 b- W6 L1 ^
所以, 在实施一些方法前, 还有很多的东西要学./ z s+ b* k+ H# {7 U- p9 t
回过来继续说Image Stuffing.为了不让用户发现,你不得不设置图片大小为1个像素,代码如下:
! i" V& n# p! [+ e5 h8 h<img src=”http://www.advertcn.com/affiliatelink” height=1 width=1>/ U& s* v* q+ g) J5 h
但这样还是会显示一个红叉,所以,再给它加上个alt标签,用来替换你想要的文本文字. y+ B/ o3 O9 ?6 m$ r6 f: |
image tag stuff:
; Q, L1 O- X+ Y& M2 i- ~<img src=”http://www.advertcn.com/affiliatelink” height=”1″ width=”1″ alt=” “>0 l5 U1 W5 I9 i" K# }; l
然后,当它和其它方法结合在一起后,就成为cookie stuffing牢固的基石了,后面会继续讲到的.% m% Q# S" l/ X$ o
2. Iframe Stuffing
3 D3 h9 @2 X+ B# t$ w$ vIframe对初学者来说相当容易理解(不知道Iframe为何物的,请自己查资料吧),以下是Iframe Stuffing的代码例子.# L5 P4 r O5 V( h; n
<iframe src=”http://www.advertcn.com/affiliatelink” height=”1″ width=”1″>4 K/ P5 e) F! ?/ N0 K2 t
访问者来到你的网站后,就不知不觉的已打开窗口访问了商家的网站,也就是点击了http://www.advertcn.com/affiliatelink,因为这个Iframe的大小是1个像素,所以访问者毫无知觉.如果他们购买了东西,提成就是你的了.' m& v6 H, q/ n% U# `$ D
Iframe Stuffing也很容易让你马上被banned.当然,也有办法隐蔽它,在后面我们会讨论到." X+ M6 Q3 Q8 q' W) T4 h( J( w2 j
3. Javascript Stuffing
+ C0 _, ~1 `" W. r" r很久以前-从互联网早期,到现在,有个东西叫弹窗的,可以说是最原始的强制植入cookie的方式.确切的说,属于不完全意义上的cookie stuffing.
7 R& A1 R; y l( ?7 ^效果是一样的,只是很令访问者反感.所以大多数浏览器有了可以锁定弹出式窗口的功能.- n. ?% K7 X9 R U4 V. l
现在,我们来到了有点复杂的cookie stuffing的章节-Javascript Stuffing,这个需要一点程序知识,毕竟Javascript是一种脚本语言.因为较难明白,我们就跳过程序知识这部分.
# q0 u: n4 x; j9 P- M下面举个代码例子,并简单地解释一下它是如何工作的:7 v' p7 j- F' |! C
<script language=”JavaScript”>1 H! m1 l4 c* g, m, B/ n- s
<!– window.focus();- d) q( `$ w3 U' H. M, H
setTimeout(“window.focus()”,900);
1 @7 b6 c/ N S1 M//–>
/ k/ F* I. X( {+ Z. u</script>, d, R3 @! x" `
<script language=”javascript”>
$ M- }( P& Y% W: q<!–
% w* G* ?" y- ^# a! pw=window.open(‘http://www.advertcn.com/affiliatelink’,'affiliate_description’);w.blur();
5 A- V7 p% V' S" A) `//–>
: E9 j# I1 c4 t2 U9 V3 E. F" T</script>
8 x0 v' h: M1 D% @, f4 q这个独特的方法是过了设定时间后,打开弹出式窗口(商家的网站,或者是你的推广链接),并移离目前主窗口的视觉中心,放置于主窗口的后面,对访问者来说,就不那么烦人侵扰了.
# G8 F: g# K x3 p4 H: ?由于访问者其实已用你的链接打开了商家的网站,所以他们被植入了cookie.
9 f( b0 J5 T2 ~- t, ~5 t% f( S如果你懂得javascript,懂得弹出式窗口,够精通javascript编程的话,你应该有能力值得花些时间去改进发展Javascript Stuffing.
, D9 T. j) w! n3 X但大多数时候,Javascript Stuffing已进入死胡同,发展余地已不大.
/ p* R) H/ H+ N, P6 ^% v后记:% U% R/ W8 l! E/ \8 Q% S l/ u
数年前,我在CB培训的群里,也给过学员类似的代码,不一样的在于,我给的是隐形弹窗,也就是说肉眼是看不见这个弹窗的.
/ f7 k/ y$ G& e* J! f& `# q1 r; B8 H代码作者原本是出售这个程序的,后来05年取消了,改为到他网站上在线生成代码.现在他的网站已指向了别的地方,所以别问我要这个东西啊.4 [+ i$ `( P- b' N( Y5 `
4. .htaccess stuffing 通常,即使是会点网站设计的人,也不一定知道.htaccess是什么.% T/ y# w& o. Z0 Z7 k" K
.htaccess在大多数服务器是个隐藏文件,有时被默认是没有的,所以实际上需要我们建立一个.
Y! r& l4 @0 f6 a8 E.htaccess这个文件告诉服务器当一个特别条件相适应时,应该去干什么.) m5 }7 N- I* K4 U
好了现在我们至少知道了什么是.htaccess文件,我们就开始复习Image Stuffing代码吧.! R* }1 Q) L, X- ~. d
比如说你在论坛的签名.! X' o9 s) C9 E* s2 K$ B
<img src=” ”>
- @+ T. E S6 v; L" y1 G9 s' A2 ~然后我们把以下htaccess文件传到空间里* @- ~! y/ \$ R& I
RewriteEngine on% e) l: ^7 o( F; u& w' p
RewriteRule signature.jpg http://www.advertcn.com/affiliatelink/ [L,R=301]! N7 z8 W( i3 q5 F
这个htaccess是说,访问者在读取你的论坛签名里的图片时,会被转向到你的affiliate链接,这样他们就被植入了cookie., B8 a; Y) N2 M9 |
那么,你的图片在浏览器里真正看上去是这样的:
# n/ q; }9 `5 S0 s8 x& O! v<img src=”http://www.advertcn.com/affiliatelink”>
/ {, e, S2 u! p% e- \7 d1 \还记得前面讲到过的Image Stuffing吗?现在访问者看到的链接就是一个真实的图片了.
. O. \7 K1 [# K5. Flash Stuffing
# B# Z7 b0 ]6 r3 m0 O关于Flash Stuffing这一部分,还可以参见一本书,CookieStuffingGuide,广告中国有下载,地址:
" q+ |# U# _/ I1 U8 zhttp://advertcn.com/viewthread.php?tid=72234&extra=page%3D1
) C& y# }1 _- [, o( P# v& e0 t相信大家都玩过Flash游戏吧,可以使用键盘或鼠标操纵动画里的部分动作,交互性很强,这便是ActionScript的厉害之处,它与JavaScript结构类似,但是它的编程要容易得多.8 m0 R4 M: a; y' b2 G
用ActionScript创作出来的动画具有很强的交互性,Flash程序脚本语言就是ActionScript,译作行动脚本.最近版本是3.0.
3 j5 [; n: H8 g' S3 e7 j5 W讲述Flash Stuffing,专业术语较多,我看资料时头也很大.所以,一些复杂的理论我跳过去省略掉.
+ }: v+ Y: j* e$ PFlash几乎无可能对所发送的referer作假,所幸它有个可以利用的漏洞,那就是sendToURL().5 C2 K( S8 B9 v* `3 M; K- V3 d! r6 T
ActionScript3.0里有个叫sendToURL()的功能,这个功能的设计是,发送信息到一个网站,但不用等待响应.
6 G* A- N6 Y1 q& e具体来说,sendToURL()发送一个URL到服务器确认,但不理睬任何响应.也就是说,它用访问者的浏览器(你的cookie stuffing”受害者”)提交一个请求到一个网站,但浏览器被假设为不理睬任何响应.) P# @! A. k7 @7 J
但头部信息是不会被拒绝的,cookie能穿越sendToURL()未触及的功能通过去,cookie的植入自然也就无疑问.
- t8 ~3 ~5 ] h f0 K如果你会PHP的话,你可以指定哪个浏览器不发送空白的referers,以及阻止来自被发送到sendToURL()的信息.你还可以设定你的PHP文件指令,优化你想要的CTR比率,以保持稳定的收入.
6 h4 d7 `8 Q. |" h此类程序有几种,有的已停止出售.最好是找人写一个针对特定联盟的.当然前提是联盟默许cookie stuffing.: |+ o2 {$ c+ p/ j0 q
前面所讲到的每个cookie stuffing方法,不管是哪个,都会被联盟发现从而封掉你的账号.不信的话你可以多试试看,除非你发现了高手成功的方法.5 ^7 E. s0 H1 A: [; p. M8 j9 |& S
那么,联盟是怎样抓住你使用了cookie stuffing的呢?# D' d# p; T, h
首先,image stuffing,包括和它相结合的.htaccess stuffing,被证明是无法改变referer的.
9 g D, j4 c% C, j后面我会讲到如何改变iframes和弹出式窗口的referer.
6 Y) y$ k$ I# H$ S- m- a其次,第二个察觉cookie stuffing的方法是blank referer,这个方法是合法的,但联盟会告诉你不行,或不给你一个明确的答复./ |% P+ X# y$ Q2 S( S- ^
如果你用了blank referer,你认为该怎样解释?这里有2个选择:" y: V5 Q! r) G; u$ P, p0 U. G
1:你偷偷摸摸地在做某种事情,也就是blackhat
; ~% ^3 H6 ]+ q! G' ]) o2:你隐藏了流量来源.7 T( j6 |5 H! x: p: T4 w
那么,你会用哪个选择来回答联盟呢?1,还是2?
' U/ T7 m+ [* ^4 Y% h) l' }我直接说吧,永远也不要说你在做blackhat的事情,只说你的流量来源是个机密.
( b1 \/ C- l2 }) I" k- J然后你可能会收到电话或电子邮件,问你空白referer的来源,因此你事先要做好准备.. z5 v3 ^ w# T
第三个方法是他们用转化率来破解你是否用了cookie stuffers., d- a. }3 q+ {! F- p
什么是转化率?比方说,被你植入cookie的访问者都是潜在的消费者,如果他们没有消费或注册,或很少很少,你的转化率会显示很低.原因是你那些流量都是随机的乱七八糟的,不是目标流量,并没有真的点击了你的链接来到商家网站.
1 ?# c5 D% `- P" P, g在大多数情况下,联盟不会封掉你的账号,他们仅委婉地告诉你: 你不能再推广那个任务,也许你会发现推广别的任务比较好.
9 a4 J9 [' \, i第四个方法是联盟用CTR数据来发现你在emu.事实上,图片是不可能有100%的点击率的,这是affiliates界的尺度,所以要注意了., X1 f$ b4 V9 P2 W \7 y% b
最后,最坏的情况是,联盟从你收入的情况来判断你是否emu.
/ |5 u1 j. v* T0 b% q/ U8 q5 Q怎么判断的呢?联盟用某个一样的比例来衡量affiliates的收入.. p6 d' t( g% B7 f2 R* L
举个例子,假如一万个会员平均月收入是100美元,并有3个人超过了500美元一个月.那么,你会被列入那个人里面,被联盟重点照顾.: |& r! E- _1 D' o% q1 c
联盟不放过每个细节,对你仔细分析哪些是你做对的,哪些是做错的.这就是前面我提到过的,这种时候联盟会来调查电话问你空白流量的来源.* @- i7 w: u; G) ^
好了,现在我们已知道了联盟是怎样检查我们的,下一步我将讲解如何应对.0 |2 H- [4 e+ ]: _
在(四)里,我们大体已知道了联盟是怎样检查我们的,那么,现在该如何去应对它呢?以下内容是比较深的.3 R o" N4 Q, i u) d% y. Z
首先,必须接受这样的事实,在image stuffing里改变referer是不可能的,因此,除非你能承担和把风险降低到最低点,否则不要在网站或论坛搞image stuff.
# d" V3 N, R) l" I0 d第二,学会如何适当地使用刷新代码.把iframe和刷新2者结合,referer信息将是空白的.
& G2 k9 M0 m* m3 E7 s" |现在不是所有的浏览器都支持上面所说的第二点,因此我们得把它过滤掉.我们做成2个PHP跳转页面,先是第一个刷新页面到达第二个页面,第二个页面自动检查referer信息是否是空白.如果是,那么这个浏览器可以使用.然后我们就可以第二次刷新来到affiliate推广页面.
; y1 g( p; A' G" @' X) @! n6 M联盟将看到你的来了来源都是空白的.
+ G+ G' ?' Q; m5 Q! ]1 V关于这个2次刷新脚本,不懂的话读者可以自己找人写个.& H8 E$ P* A6 }$ v, R
嗯,有的联盟已规定流量来源不可以是空白的,自然就不能用以上方法.
; }( M) m M H. ]第三6 b6 _9 B* a0 y- _( ^+ o# n
这个方法已用得很广泛了.如果访问者是通过搜索引擎来到你的网站,那么无疑,这时stuffing是相当安全的,联盟对此情况必定无话可说的.
% H. Z4 D2 z r/ w" W- }那么我们可以这么做,让搜索引擎收录,比如雅虎的目录;让分类信息站收录,比如craigslist;再比如加入到ebay. 这些都是可以做到的几种不同的方法.
+ }& _6 {' t) @我们可以用一个htaccess文件转到指定的affiliate链接的来源.
9 T# Y: U$ s7 d) D( A) W i或者我们可以写一个来源到数据库里,然后让被称为index.php的页面执行.我们可以告诉我们的PHP文件,对写好的某段代码做出决定,即使是来自某个站点的来源也可以改变.; K! j) \3 |: Q! L% l6 Z% e/ H, `
if(substr((trim($_SERVER['HTTP_REFERER'])),0,23)==”http://www.google.com/”)( v; @9 R3 H3 h" B" m% g
{( {4 y6 d$ I, W+ z5 g1 ?
echo “<img src=\”http://www.advertcn.com/affiliatelink” height=\”1\” width=\”1\” alt=\”\”>”;
/ H- O& g# T, y l1 ]- Y2 w}
. B4 U& n& a, {1 \* H现在我们要抛弃掉image stuff,使用加上刷新代码的iframe,或flash文件,用于植入特定的来源对象,没有任何限制.5 V% ~7 {4 x' W
这个程序能很好的平衡CTR和对流量来源的检验,还能避免你的AM被植入cookies.
3 B" p2 U5 E! \0 D1 [不过,需要懂些PHP程序方面的知识才行.如果没这个能力,可以考虑去威客平台找外包,在国外有Freelance programmers接这种活.国内的我觉得就别找了吧.3 z: K# x! m5 F! Q$ y! M/ x6 _
第四, s, Y0 Q- e) _4 }5 J/ ~5 w; m
这是另一个不会引起别人警觉的在论坛植入cookies的方法,可以设置一个比例,让访问者随机被植入cookies. 比如说设置5%,那么,100个访问者里有5人会被植入cookies. 这个方法工作原理是怎么样的呢? 它有个名称叫动态.htaccess.它包含了2个图片文件和1个.htaccess文件.* u1 @( b% O. q" @) f
当显示图片时,会适时地运行一PHP程序.
: q* p! F E$ x, [: @. F2 N现在我讲解一下这2个图片.
: _/ J2 L$ U" n' T% D* m第一个图片其实是假的,每次被访问会编辑.htaccess文件.我们设置一定的比例多少次图片1被图片2″覆盖”,比如5%." x+ [+ ?; r& t* k# \1 j3 M* N
下面的代码是5%的时间里时htaccess的写法:7 ^5 n8 z+ O% o Q. T2 S
RewriteEngine on+ y1 n. ~& W* x" V
RewriteRule signature.jpg signature.php [L,R=301]9 g! O- ?* f1 K3 }. R& F
RewriteRule affiliatetracking_pixel.gif http://www.advertcn.com/affiliatelink [L,R=301]& N2 I3 v$ L/ @5 n1 U
下面的代码是95%的时间里时,htaccess的写法:# @$ }* y* B A+ y
RewriteEngine on; n+ [5 l2 L- F7 j" N
RewriteRule signature.jpg signature.php [L,R=301]
; `( R! g; }2 t9 ~; \RewriteRule affiliatetracking_pixel.gif tp.gif [L,R=301]
" z' |& q) n+ K3 h就是说,95%的时候,在论坛看到的是正常的签名,5%的时候看到的是×.万一如果有人怀疑这个×,那么,他刷新一下帖子的页面后,看到的又是一个真实的图片.: ^; f/ {( h7 c& I7 u
这是因为刷新后htaccess又被重写了.' l/ o3 b. g4 k# H& Y! u, U) \4 ~3 @
使用这个方法事先要注意是否容许在论坛推广,以及签名除了图片还可以使用文本.& G" O- s# v* e3 ^ R
第五
* h) {4 d% j1 d( m# Q前面我们已知道,那个红叉是个麻烦问题.) a$ K9 d" x% Y
但如果我们是在一般非技术论坛搞cookie植入的话,仅针对火狐浏览器用户植入就可,因为火狐浏览器不会显示红叉,这点它跟IE6/7不一样的.% _. ?2 `! C1 N' K: m
这个方法的代码如下,由上往下读:
x6 j3 V4 p( h) A4 E& Z- e' M- xOptions +FollowSymlinks
8 U$ \% T. I8 C- h: @* ~, nRewriteEngine on0 b: M, a' B& u/ R8 a+ i r4 B
RewriteCond %{HTTP_REFERER} !^$
7 {) A* v" Z3 ?" s: E) w' s- Y7 @5 `RewriteRule signature.jpg special.jpg [P,L] ^Mozilla/5.0.*$ [NC]3 C% X, v! d+ B$ L, a& ^. o
RewriteRule signature.jpg http://www.advertcn.com/affiliatelink[R,L]+ u# `: @! g0 k, t3 x
RewriteCond %{HTTP_REFERER} ^$) Q$ T, ]+ ?# U
RewriteRule signature.jpg special.jpg [P,L]$ C* b6 H J s/ V: X
RewriteCond %{HTTP_USER_AGENT}
% r' j2 D+ f/ R# P! B' Q* R简单的解读是,如果是火狐浏览器用户,就发送你的推广链接给他们,植入cookie,他们看不到红叉., d( p7 [* G% e. f# j `
其余IE用户则看到的是真实的图片,不被植入cookie.1 T- o6 x% Y( ~* C% c% N+ ~3 Y
这个方法相对来说简便易行.2 t+ Q- G+ s1 \5 F
结语
. Y/ q1 ~- Z9 `* r7 D, K' {关于cookie stuffing的秘密,到此算是讲完了,希望各位有所收获.此外,既然是秘密,如今公开了,就说明是有一定时效性的,故运用时需要自己加以改进.! v; w/ f$ Y$ F7 N0 q1 t$ R4 Y+ z
最后,谢谢大家阅读,我期待着有更多的积极性去写其它的内容. |
评分
-
查看全部评分
|