|
前言
9 t0 e( g. M) Z" L2 s: Y去年我说过要写个关于cookie stuffing(简称CS)的资料.开写了大部分后, 于去年9月份时中断1 s! r. f. k1 |6 P; S) {
后来断续又写了一点,还没写完.$ d' x9 i% y, n
现在决定暂时不用PDF形式发布,而是用贴子分几期在5月份发完.
/ M: ?* L( Z1 P F! s整个资料内容不涉及实战,以介绍方法为主,里面的代码来自老外,和本人无关,请注意了. & M$ _: B# W2 }2 x h
OK,首先我还是重复下什么是cookie stuffing的概念) l4 K" w, w. Q$ Z$ g) J l6 Z
cookies是通过html中header(头部信息)传递的,除非浏览器的做了一定安全设置,否则是不会忽略这个信息的.3 W0 `6 f3 I1 K1 L
既然cookies通过头部信息传送,那么,一个网页可以不必通过一个header传递,通过图片等方式也可以实现.: J) {6 W% g* b2 A+ W
当一个浏览者向服务器发送一个图像请求时,在返回的页面之中,一个header已经被包括了.浏览器获得了header,就不需要管那些文章信息,一个cookies就是这样植入的.& U( ?) s- Q: [9 i" S/ n9 s/ {1 x
cookie stuffing的存在是因为广告联盟用cookie来跟踪业绩.用最简单的话就是说,广告联盟给你一个链接,当他人点击了链接并购买了产品,你就获得了佣金.
" X% ]6 q& z* H& {4 I1 d6 i$ x现在你知道了,就是要想办法让人多点击,你就可能得到更多提成.比如把广告图片放在你站上,并尽量使图片和网站融为一体.但可怜的是这样做效果很差,几乎没人点你的广告图片.
7 Z& G6 n; v v. X) Z* o( m; u6 |所以,怎样强制他人点击链接呢?从而cookie stuffing就这样被发明出来了.它的最终目标就是把affiliate cookies加入浏览者的电脑中,以投机取巧获取利益.
- c; g, r; D% ]看起来cookie stuffing是一种容易赚钱的方法.当然,广告联盟不是傻瓜,他们有很多办法能抓到你,这在以后会讲到的.
. a$ p. p1 p1 W0 M+ l' }" q& R2 p基本方法
, n9 R% ]' t- [3 }% P/ H# y1. Image Stuffing0 Q: C# N* w5 a( V( e- ^2 s+ V
cookie stuffing一般在开头会先讲这个Image Stuffing的,代码很简单,这里是个例子:
* g! n. R4 f q k# W<img src=”http://www.advertcn.com/affiliatelink”>
* N6 g, [2 j# t; ]" [在大多数浏览器,它表现为一个大的红叉,看上去像是服务器出了毛病一样.
7 ?5 R% T" j9 O1 a# z4 @$ q3 R2 @在国外大多数论坛有不少会员是专家,如果你在论坛用这个方法,会很容易被他们识破的.
& F- ~- q& z: g5 ^% {9 ~所以, 在实施一些方法前, 还有很多的东西要学.
^ p! t$ C) o7 L" D9 d回过来继续说Image Stuffing.为了不让用户发现,你不得不设置图片大小为1个像素,代码如下:& e8 n8 j& Q& ]. P7 F: G9 R' s
<img src=”http://www.advertcn.com/affiliatelink” height=1 width=1>1 D3 g7 I$ E; L* H3 u" C; M, W
但这样还是会显示一个红叉,所以,再给它加上个alt标签,用来替换你想要的文本文字.
7 K4 Z/ |9 b% N" l& e; {; kimage tag stuff:) E4 n4 H( d B H6 u& d
<img src=”http://www.advertcn.com/affiliatelink” height=”1″ width=”1″ alt=” “>
2 }! {, @( m1 r然后,当它和其它方法结合在一起后,就成为cookie stuffing牢固的基石了,后面会继续讲到的.% r) ?2 x1 z A g! ?
2. Iframe Stuffing
6 o. k- N I2 ~) E3 ~1 n2 d! OIframe对初学者来说相当容易理解(不知道Iframe为何物的,请自己查资料吧),以下是Iframe Stuffing的代码例子.
& d S8 t% N9 \, D8 Y% u" h* C<iframe src=”http://www.advertcn.com/affiliatelink” height=”1″ width=”1″>5 k7 [' V; d, ^
访问者来到你的网站后,就不知不觉的已打开窗口访问了商家的网站,也就是点击了http://www.advertcn.com/affiliatelink,因为这个Iframe的大小是1个像素,所以访问者毫无知觉.如果他们购买了东西,提成就是你的了.- Q$ Z, ^8 [3 ~. \. j( m/ B3 o9 m
Iframe Stuffing也很容易让你马上被banned.当然,也有办法隐蔽它,在后面我们会讨论到.* k8 G9 q( i0 U; ?2 m
3. Javascript Stuffing. R, D [' F `( y) P: j
很久以前-从互联网早期,到现在,有个东西叫弹窗的,可以说是最原始的强制植入cookie的方式.确切的说,属于不完全意义上的cookie stuffing.
0 ~& e# |- g- Z- V. D R效果是一样的,只是很令访问者反感.所以大多数浏览器有了可以锁定弹出式窗口的功能.
; _9 a9 M5 s9 F: \+ a1 Z现在,我们来到了有点复杂的cookie stuffing的章节-Javascript Stuffing,这个需要一点程序知识,毕竟Javascript是一种脚本语言.因为较难明白,我们就跳过程序知识这部分.' Q7 J% @# i6 ~$ e$ J# f. X/ I
下面举个代码例子,并简单地解释一下它是如何工作的:
" j5 I0 F. j$ T4 R2 l$ N4 M) t<script language=”JavaScript”>
1 G1 D2 c' ]4 N% {- ?1 X2 b<!– window.focus();5 v' o# x! y7 R) B* _
setTimeout(“window.focus()”,900);. }; _3 C' y- T; V
//–>
! P7 o) Z% s! Z8 p5 @! |5 n6 a</script>
0 [& B6 P% r. ?8 |6 m. E0 h<script language=”javascript”>) V7 x9 c$ S& \/ n, L$ @4 |
<!–8 N" ~+ l+ @' S* k" M/ o
w=window.open(‘http://www.advertcn.com/affiliatelink’,'affiliate_description’);w.blur();
T f" h/ c( e! e) ?! e//–>! m4 Y# p, A3 X$ t7 X
</script>
r( S9 N; u7 R- j4 a" W这个独特的方法是过了设定时间后,打开弹出式窗口(商家的网站,或者是你的推广链接),并移离目前主窗口的视觉中心,放置于主窗口的后面,对访问者来说,就不那么烦人侵扰了.
/ M& s( n( k- w1 k8 j- Y由于访问者其实已用你的链接打开了商家的网站,所以他们被植入了cookie.7 q6 x( B5 N6 L D; W- q
如果你懂得javascript,懂得弹出式窗口,够精通javascript编程的话,你应该有能力值得花些时间去改进发展Javascript Stuffing.
/ L5 Y" x+ O$ k, L) [4 n3 i但大多数时候,Javascript Stuffing已进入死胡同,发展余地已不大.) f: K, i! o8 o3 Z: s! j+ y6 H; L# a
后记:& L9 D' T6 R0 {, x! N8 O) F
数年前,我在CB培训的群里,也给过学员类似的代码,不一样的在于,我给的是隐形弹窗,也就是说肉眼是看不见这个弹窗的.! K5 m1 m1 ]2 y: z
代码作者原本是出售这个程序的,后来05年取消了,改为到他网站上在线生成代码.现在他的网站已指向了别的地方,所以别问我要这个东西啊.
( `' w% t: T0 z% @+ s) W& I$ Q7 t4. .htaccess stuffing 通常,即使是会点网站设计的人,也不一定知道.htaccess是什么.% z* Y9 t! V% N
.htaccess在大多数服务器是个隐藏文件,有时被默认是没有的,所以实际上需要我们建立一个.
5 r4 ]/ c6 S4 }1 a' u' j.htaccess这个文件告诉服务器当一个特别条件相适应时,应该去干什么.' P+ h4 n9 s6 @7 ]/ w& |
好了现在我们至少知道了什么是.htaccess文件,我们就开始复习Image Stuffing代码吧.
F( t; S4 C2 ?% |比如说你在论坛的签名.( z6 w h! C- B; e1 R
<img src=””>
: s b( g- _3 z H/ ?3 |4 n. V然后我们把以下htaccess文件传到空间里$ J7 q6 Z8 L# a2 g
RewriteEngine on2 A" T5 y/ [: j% d' c3 r
RewriteRule signature.jpg http://www.advertcn.com/affiliatelink/ [L,R=301]) ~4 \ n1 U5 ~! |+ }9 Q
这个htaccess是说,访问者在读取你的论坛签名里的图片时,会被转向到你的affiliate链接,这样他们就被植入了cookie.9 Q2 m: H- v2 h- ^
那么,你的图片在浏览器里真正看上去是这样的:% h) K- U* `0 g. x! u
<img src=”http://www.advertcn.com/affiliatelink”>* T" }; r2 a! Y: v" Z' k
还记得前面讲到过的Image Stuffing吗?现在访问者看到的链接就是一个真实的图片了.
5 \1 S3 c7 V! Y5. Flash Stuffing. H1 Y* m8 c( P/ ?
关于Flash Stuffing这一部分,还可以参见一本书,CookieStuffingGuide,广告中国有下载,地址:
3 e# B4 m, X4 i% }http://advertcn.com/viewthread.php?tid=72234&extra=page%3D1$ f/ k3 L0 E9 f; D7 C5 x# T
相信大家都玩过Flash游戏吧,可以使用键盘或鼠标操纵动画里的部分动作,交互性很强,这便是ActionScript的厉害之处,它与JavaScript结构类似,但是它的编程要容易得多.
2 \9 M$ a; z% h* e4 w$ ^用ActionScript创作出来的动画具有很强的交互性,Flash程序脚本语言就是ActionScript,译作行动脚本.最近版本是3.0.0 q2 Q' V7 B' d3 _1 F* U5 k2 |7 [# t( J
讲述Flash Stuffing,专业术语较多,我看资料时头也很大.所以,一些复杂的理论我跳过去省略掉.
. k* `$ c2 C8 F1 \: bFlash几乎无可能对所发送的referer作假,所幸它有个可以利用的漏洞,那就是sendToURL().
& z5 K/ p% Y; X9 O8 Z% I5 {$ j; R5 DActionScript3.0里有个叫sendToURL()的功能,这个功能的设计是,发送信息到一个网站,但不用等待响应.$ n& l) z4 S2 h$ F" b
具体来说,sendToURL()发送一个URL到服务器确认,但不理睬任何响应.也就是说,它用访问者的浏览器(你的cookie stuffing”受害者”)提交一个请求到一个网站,但浏览器被假设为不理睬任何响应.
K4 c1 H; q2 c* t但头部信息是不会被拒绝的,cookie能穿越sendToURL()未触及的功能通过去,cookie的植入自然也就无疑问.
) ]( ~1 j$ E. {+ J如果你会PHP的话,你可以指定哪个浏览器不发送空白的referers,以及阻止来自被发送到sendToURL()的信息.你还可以设定你的PHP文件指令,优化你想要的CTR比率,以保持稳定的收入.
: p% q" R( O/ Q: X此类程序有几种,有的已停止出售.最好是找人写一个针对特定联盟的.当然前提是联盟默许cookie stuffing.
# X* i* r* T2 x前面所讲到的每个cookie stuffing方法,不管是哪个,都会被联盟发现从而封掉你的账号.不信的话你可以多试试看,除非你发现了高手成功的方法.
) p3 n. B& Y# r) q! Q( _" u$ l那么,联盟是怎样抓住你使用了cookie stuffing的呢?6 ^/ V! P% M/ k8 P3 Q1 h
首先,image stuffing,包括和它相结合的.htaccess stuffing,被证明是无法改变referer的.
" t7 Y: ~& }* s2 {! l后面我会讲到如何改变iframes和弹出式窗口的referer.* [# v: Q, t2 T, B8 X0 |, K
其次,第二个察觉cookie stuffing的方法是blank referer,这个方法是合法的,但联盟会告诉你不行,或不给你一个明确的答复.
0 B, K: w+ D5 Q* V如果你用了blank referer,你认为该怎样解释?这里有2个选择:$ u+ @, H) F* |: c0 g& e
1:你偷偷摸摸地在做某种事情,也就是blackhat, S @3 ?; y! L5 ]% A3 j# ]
2:你隐藏了流量来源.
/ a" X4 F* B( H2 B3 I0 D, ~, y那么,你会用哪个选择来回答联盟呢?1,还是2?% W: X. g: j0 K# y/ }
我直接说吧,永远也不要说你在做blackhat的事情,只说你的流量来源是个机密.
& d2 t# R5 G8 Q9 E$ k& p" \9 I然后你可能会收到电话或电子邮件,问你空白referer的来源,因此你事先要做好准备.5 q9 Y, _. Y% A6 S5 O5 ~% W) r
第三个方法是他们用转化率来破解你是否用了cookie stuffers. W3 D$ g7 z' Y9 r- j1 V
什么是转化率?比方说,被你植入cookie的访问者都是潜在的消费者,如果他们没有消费或注册,或很少很少,你的转化率会显示很低.原因是你那些流量都是随机的乱七八糟的,不是目标流量,并没有真的点击了你的链接来到商家网站.
) \3 I8 b/ E8 S6 b2 N在大多数情况下,联盟不会封掉你的账号,他们仅委婉地告诉你: 你不能再推广那个任务,也许你会发现推广别的任务比较好.
3 S* m* [5 U* |第四个方法是联盟用CTR数据来发现你在emu.事实上,图片是不可能有100%的点击率的,这是affiliates界的尺度,所以要注意了.* f; R; H% ?6 p8 T5 T# n* }
最后,最坏的情况是,联盟从你收入的情况来判断你是否emu.
7 x' |! ? Q2 \% r2 \$ _怎么判断的呢?联盟用某个一样的比例来衡量affiliates的收入.3 H9 s) Y) D ^8 \6 u
举个例子,假如一万个会员平均月收入是100美元,并有3个人超过了500美元一个月.那么,你会被列入那个人里面,被联盟重点照顾.1 t; ?/ U2 P5 y5 ?# z, `
联盟不放过每个细节,对你仔细分析哪些是你做对的,哪些是做错的.这就是前面我提到过的,这种时候联盟会来调查电话问你空白流量的来源.6 s2 H; b$ c9 H o
好了,现在我们已知道了联盟是怎样检查我们的,下一步我将讲解如何应对.
7 d+ c7 m# E) K ~4 C在(四)里,我们大体已知道了联盟是怎样检查我们的,那么,现在该如何去应对它呢?以下内容是比较深的.
4 L: Z3 ^7 }. j8 i" Q2 ?* y首先,必须接受这样的事实,在image stuffing里改变referer是不可能的,因此,除非你能承担和把风险降低到最低点,否则不要在网站或论坛搞image stuff.' m2 \' M0 v% o7 F, Q, m+ S
第二,学会如何适当地使用刷新代码.把iframe和刷新2者结合,referer信息将是空白的.
8 T% ~6 q0 C. i. ^) R6 \# A f6 ~现在不是所有的浏览器都支持上面所说的第二点,因此我们得把它过滤掉.我们做成2个PHP跳转页面,先是第一个刷新页面到达第二个页面,第二个页面自动检查referer信息是否是空白.如果是,那么这个浏览器可以使用.然后我们就可以第二次刷新来到affiliate推广页面.
. ?/ F# M. @7 N4 b联盟将看到你的来了来源都是空白的.9 z) X* {9 m9 S5 U) ^: J/ [/ `
关于这个2次刷新脚本,不懂的话读者可以自己找人写个.5 v0 V4 l' o6 W# ~
嗯,有的联盟已规定流量来源不可以是空白的,自然就不能用以上方法.
1 e4 B; [' [# I& C+ W8 @第三
: i* _, Q5 h" j/ z' V这个方法已用得很广泛了.如果访问者是通过搜索引擎来到你的网站,那么无疑,这时stuffing是相当安全的,联盟对此情况必定无话可说的.0 @4 I6 h/ p) L9 r+ i9 E
那么我们可以这么做,让搜索引擎收录,比如雅虎的目录;让分类信息站收录,比如craigslist;再比如加入到ebay. 这些都是可以做到的几种不同的方法.5 ?, T4 I; m2 L
我们可以用一个htaccess文件转到指定的affiliate链接的来源.' ]% r& K) Y& { G, H
或者我们可以写一个来源到数据库里,然后让被称为index.php的页面执行.我们可以告诉我们的PHP文件,对写好的某段代码做出决定,即使是来自某个站点的来源也可以改变.& J) p, P# X* w* e# M- Y
if(substr((trim($_SERVER['HTTP_REFERER'])),0,23)==”http://www.google.com/”)
& |1 b1 f3 K& O* }{0 g' f3 P% I4 W7 k1 ~
echo “<img src=\”http://www.advertcn.com/affiliatelink” height=\”1\” width=\”1\” alt=\”\”>”;" s5 I: X1 e: c
}( Q/ \* f" _. ]0 g+ X
现在我们要抛弃掉image stuff,使用加上刷新代码的iframe,或flash文件,用于植入特定的来源对象,没有任何限制.2 Q; \2 H7 z5 Q$ S8 N# n
这个程序能很好的平衡CTR和对流量来源的检验,还能避免你的AM被植入cookies.
4 B5 f8 x. s w) g9 `& W不过,需要懂些PHP程序方面的知识才行.如果没这个能力,可以考虑去威客平台找外包,在国外有Freelance programmers接这种活.国内的我觉得就别找了吧.
; @- j/ y7 Y3 G B第四
; X0 G2 i4 k3 l6 v$ X" Y这是另一个不会引起别人警觉的在论坛植入cookies的方法,可以设置一个比例,让访问者随机被植入cookies. 比如说设置5%,那么,100个访问者里有5人会被植入cookies. 这个方法工作原理是怎么样的呢? 它有个名称叫动态.htaccess.它包含了2个图片文件和1个.htaccess文件. O7 _% t9 o f* E+ ]5 B6 `7 O
当显示图片时,会适时地运行一PHP程序.
# K( w+ c" |0 _" c, D; v0 l现在我讲解一下这2个图片.
# y+ E7 z7 n- g3 B- f% I/ T1 m$ G) I第一个图片其实是假的,每次被访问会编辑.htaccess文件.我们设置一定的比例多少次图片1被图片2″覆盖”,比如5%.
7 N* i3 e* D7 e' m( H下面的代码是5%的时间里时htaccess的写法:
g1 D3 m3 d) a5 iRewriteEngine on
- S: m$ [, ^% `, h* {2 J# W: xRewriteRule signature.jpg signature.php [L,R=301]6 k2 w$ C) K1 j; t& I/ m: Q1 _! X
RewriteRule affiliatetracking_pixel.gif http://www.advertcn.com/affiliatelink [L,R=301]
6 G# J( `; {. }8 b/ O! c/ W下面的代码是95%的时间里时,htaccess的写法:3 z* m4 A4 j* y
RewriteEngine on3 V2 p, @. \7 \
RewriteRule signature.jpg signature.php [L,R=301]
0 l1 A) i. n4 Y" }# ], kRewriteRule affiliatetracking_pixel.gif tp.gif [L,R=301]7 z% S0 ^/ N* D; e5 r4 {0 D: p
就是说,95%的时候,在论坛看到的是正常的签名,5%的时候看到的是×.万一如果有人怀疑这个×,那么,他刷新一下帖子的页面后,看到的又是一个真实的图片.
6 B) X- O2 W) c1 C8 w- G1 \+ u( {* Q这是因为刷新后htaccess又被重写了.
J- _; w0 _0 v) w使用这个方法事先要注意是否容许在论坛推广,以及签名除了图片还可以使用文本.. n5 u# j: f |6 r7 p! O5 W" Z
第五
- R* _. C, h* g7 z; T9 s前面我们已知道,那个红叉是个麻烦问题.
4 v3 |9 m+ C7 Q) H% ~但如果我们是在一般非技术论坛搞cookie植入的话,仅针对火狐浏览器用户植入就可,因为火狐浏览器不会显示红叉,这点它跟IE6/7不一样的.$ z d- U" _& T8 C! P7 {
这个方法的代码如下,由上往下读:2 j7 k0 K! c8 i; `6 q& u6 _$ \
Options +FollowSymlinks
7 j0 T C/ K- o. V) x/ Z( oRewriteEngine on
$ U$ r1 ^6 ?1 E% w2 y) B, S; ~( LRewriteCond %{HTTP_REFERER} !^$
* C7 [! O# W7 c6 FRewriteRule signature.jpg special.jpg [P,L] ^Mozilla/5.0.*$ [NC]
! Z' t" ^. o! @0 H, ^RewriteRule signature.jpg http://www.advertcn.com/affiliatelink[R,L]
3 t7 {4 Q, f0 u0 o! F KRewriteCond %{HTTP_REFERER} ^$: D m# B* J: I* x3 t% X" |
RewriteRule signature.jpg special.jpg [P,L]
4 k, k( A" r. jRewriteCond %{HTTP_USER_AGENT}9 c8 u) m$ X( _8 k
简单的解读是,如果是火狐浏览器用户,就发送你的推广链接给他们,植入cookie,他们看不到红叉.* I O1 h% I( |& U L' U% r1 e
其余IE用户则看到的是真实的图片,不被植入cookie.8 ~' X6 x# Z1 }$ B0 P& W
这个方法相对来说简便易行.5 y" u0 b' g2 G7 e6 e% n
结语4 e: J* Y) U9 ?. G4 G/ `
关于cookie stuffing的秘密,到此算是讲完了,希望各位有所收获.此外,既然是秘密,如今公开了,就说明是有一定时效性的,故运用时需要自己加以改进.; y$ {% V- K2 b: O+ u& u
最后,谢谢大家阅读,我期待着有更多的积极性去写其它的内容. |
评分
-
查看全部评分
|