|
|
前言& B& |0 t( n9 P" p- t( ?
去年我说过要写个关于cookie stuffing(简称CS)的资料.开写了大部分后, 于去年9月份时中断& \1 M) z8 m5 {$ `+ m/ l/ Y
后来断续又写了一点,还没写完.7 M: L* a5 D0 q3 g o8 Y1 X- q9 p
现在决定暂时不用PDF形式发布,而是用贴子分几期在5月份发完.! h0 c1 d/ G/ Q5 l$ j; W0 k8 k& T
整个资料内容不涉及实战,以介绍方法为主,里面的代码来自老外,和本人无关,请注意了.
$ r7 G# p' a4 }! zOK,首先我还是重复下什么是cookie stuffing的概念 x/ J4 B' S- x a X+ S
cookies是通过html中header(头部信息)传递的,除非浏览器的做了一定安全设置,否则是不会忽略这个信息的.
" e4 U' j4 A/ ]" n4 o: A% w1 i既然cookies通过头部信息传送,那么,一个网页可以不必通过一个header传递,通过图片等方式也可以实现.
$ a6 ]3 d+ `2 |, a- z当一个浏览者向服务器发送一个图像请求时,在返回的页面之中,一个header已经被包括了.浏览器获得了header,就不需要管那些文章信息,一个cookies就是这样植入的.
$ n) t1 i- u$ s$ vcookie stuffing的存在是因为广告联盟用cookie来跟踪业绩.用最简单的话就是说,广告联盟给你一个链接,当他人点击了链接并购买了产品,你就获得了佣金.
9 \ V! l$ D: X3 D+ m现在你知道了,就是要想办法让人多点击,你就可能得到更多提成.比如把广告图片放在你站上,并尽量使图片和网站融为一体.但可怜的是这样做效果很差,几乎没人点你的广告图片.- s6 H8 V G1 b$ B
所以,怎样强制他人点击链接呢?从而cookie stuffing就这样被发明出来了.它的最终目标就是把affiliate cookies加入浏览者的电脑中,以投机取巧获取利益.
0 Z) D# `- p, y7 {看起来cookie stuffing是一种容易赚钱的方法.当然,广告联盟不是傻瓜,他们有很多办法能抓到你,这在以后会讲到的.
) ?- B! r( j4 `) r基本方法
; _8 a5 w/ j. U1. Image Stuffing- T, a \- j! N4 N: F9 k# {0 J
cookie stuffing一般在开头会先讲这个Image Stuffing的,代码很简单,这里是个例子:7 `* O% @: h- d- R e( U
<img src=”http://www.advertcn.com/affiliatelink”>
* G" R2 S: M9 s+ v8 f- U在大多数浏览器,它表现为一个大的红叉,看上去像是服务器出了毛病一样.
- t+ s; C: h3 h/ g3 R4 q在国外大多数论坛有不少会员是专家,如果你在论坛用这个方法,会很容易被他们识破的.# ~ i7 n) \; f) B; ]) o: m
所以, 在实施一些方法前, 还有很多的东西要学.
% d$ i8 M5 Z5 @7 Z8 S O4 C回过来继续说Image Stuffing.为了不让用户发现,你不得不设置图片大小为1个像素,代码如下:; I7 n- d- ]/ c5 Y) K4 s% e
<img src=”http://www.advertcn.com/affiliatelink” height=1 width=1>7 s/ S& u& w! |& ^2 ^. \2 W
但这样还是会显示一个红叉,所以,再给它加上个alt标签,用来替换你想要的文本文字.
7 ^, |: l9 b$ p0 d2 \; N+ vimage tag stuff:
f0 r- z; B* q0 Y<img src=”http://www.advertcn.com/affiliatelink” height=”1″ width=”1″ alt=” “>
6 r/ b$ e8 G4 q1 u- ?( l0 \' H8 {然后,当它和其它方法结合在一起后,就成为cookie stuffing牢固的基石了,后面会继续讲到的.
9 e k y8 w! `, o# x: k2. Iframe Stuffing( t5 J: W Q) b! G( T8 ?. B
Iframe对初学者来说相当容易理解(不知道Iframe为何物的,请自己查资料吧),以下是Iframe Stuffing的代码例子.
0 c( Y6 r" m9 q6 g6 @) s, D7 O<iframe src=”http://www.advertcn.com/affiliatelink” height=”1″ width=”1″>* e6 e$ X \6 t8 M: s* R q- |/ L% P( l
访问者来到你的网站后,就不知不觉的已打开窗口访问了商家的网站,也就是点击了http://www.advertcn.com/affiliatelink,因为这个Iframe的大小是1个像素,所以访问者毫无知觉.如果他们购买了东西,提成就是你的了.! P! J6 w" W$ y
Iframe Stuffing也很容易让你马上被banned.当然,也有办法隐蔽它,在后面我们会讨论到.( g7 a1 U/ @8 E2 M# X
3. Javascript Stuffing
: L2 A: s* t0 W( T$ E1 s很久以前-从互联网早期,到现在,有个东西叫弹窗的,可以说是最原始的强制植入cookie的方式.确切的说,属于不完全意义上的cookie stuffing.% H" {- u. F/ F3 B+ E5 e, z
效果是一样的,只是很令访问者反感.所以大多数浏览器有了可以锁定弹出式窗口的功能.5 B( K+ [; b# D/ N5 `% f* l
现在,我们来到了有点复杂的cookie stuffing的章节-Javascript Stuffing,这个需要一点程序知识,毕竟Javascript是一种脚本语言.因为较难明白,我们就跳过程序知识这部分./ ~7 E: p8 W0 B4 c
下面举个代码例子,并简单地解释一下它是如何工作的: t! f& Y, N a+ l$ e0 k6 B+ m
<script language=”JavaScript”>
' t, j+ _ S8 v<!– window.focus();
8 { Y9 ]$ ?. A4 O: N1 dsetTimeout(“window.focus()”,900);
2 X0 g* L$ o% ?2 b9 x: l8 j//–>$ p0 I$ s; s9 w, F: w B, F6 z
</script>% {0 }! B$ d0 T% X+ ?! n# l* |& w- E
<script language=”javascript”>
% Y* m' z9 z( h<!–! `7 k0 b" _% Q3 a; z
w=window.open(‘http://www.advertcn.com/affiliatelink’,'affiliate_description’);w.blur(); a% U# K1 C% O( w, {
//–>: f: D9 p2 N+ c$ a$ |
</script>
/ h4 Q9 f1 p0 }. M: V/ C& P这个独特的方法是过了设定时间后,打开弹出式窗口(商家的网站,或者是你的推广链接),并移离目前主窗口的视觉中心,放置于主窗口的后面,对访问者来说,就不那么烦人侵扰了.
& D9 Y% w' |+ o由于访问者其实已用你的链接打开了商家的网站,所以他们被植入了cookie.2 C7 i1 C2 W2 H; M7 ]( @
如果你懂得javascript,懂得弹出式窗口,够精通javascript编程的话,你应该有能力值得花些时间去改进发展Javascript Stuffing.
% w \/ d2 Y- x7 X7 Q但大多数时候,Javascript Stuffing已进入死胡同,发展余地已不大.
3 L: t$ M- D3 Q. Q1 |6 t后记:
% e6 g+ p R& _' f数年前,我在CB培训的群里,也给过学员类似的代码,不一样的在于,我给的是隐形弹窗,也就是说肉眼是看不见这个弹窗的.4 @3 K& Q' G3 z+ S- s( W
代码作者原本是出售这个程序的,后来05年取消了,改为到他网站上在线生成代码.现在他的网站已指向了别的地方,所以别问我要这个东西啊.1 Z3 ^+ Y: O) U. \
4. .htaccess stuffing 通常,即使是会点网站设计的人,也不一定知道.htaccess是什么.
/ F$ v! _( E( \ a; D- ?.htaccess在大多数服务器是个隐藏文件,有时被默认是没有的,所以实际上需要我们建立一个.+ p% q2 ~/ y* ]) k* B5 Q
.htaccess这个文件告诉服务器当一个特别条件相适应时,应该去干什么.
. x9 s Y x+ q/ q4 w& T; {好了现在我们至少知道了什么是.htaccess文件,我们就开始复习Image Stuffing代码吧.3 n% k6 \% t. i6 Z6 t; W
比如说你在论坛的签名.
; j# O8 l1 j( c3 ^2 R# W<img src=” ”>; y U9 F4 O/ c4 A( j
然后我们把以下htaccess文件传到空间里
6 q6 p: X! D/ h1 {1 X7 bRewriteEngine on3 Z! `+ } l2 Z9 N, X& U
RewriteRule signature.jpg http://www.advertcn.com/affiliatelink/ [L,R=301]
5 q* j. D" d2 S0 v; U: Y r3 J这个htaccess是说,访问者在读取你的论坛签名里的图片时,会被转向到你的affiliate链接,这样他们就被植入了cookie.
, R; `. N' x# |" e' P; t" K那么,你的图片在浏览器里真正看上去是这样的:2 ^1 d+ @9 l, T. o
<img src=”http://www.advertcn.com/affiliatelink”>
^* v/ W- d4 N: l7 M还记得前面讲到过的Image Stuffing吗?现在访问者看到的链接就是一个真实的图片了.# _ X( ]2 d+ g2 M6 d: F. G
5. Flash Stuffing$ \6 t9 g) t$ q$ W" Q
关于Flash Stuffing这一部分,还可以参见一本书,CookieStuffingGuide,广告中国有下载,地址:) u) a3 B' Z3 D5 ~9 l4 T) y$ O: w
http://advertcn.com/viewthread.php?tid=72234&extra=page%3D1# d9 a5 Y" `. x2 a- Y& i
相信大家都玩过Flash游戏吧,可以使用键盘或鼠标操纵动画里的部分动作,交互性很强,这便是ActionScript的厉害之处,它与JavaScript结构类似,但是它的编程要容易得多.& t# U& F6 a7 e7 k& M1 {& ]
用ActionScript创作出来的动画具有很强的交互性,Flash程序脚本语言就是ActionScript,译作行动脚本.最近版本是3.0.' c1 a& j( e8 ~# F i
讲述Flash Stuffing,专业术语较多,我看资料时头也很大.所以,一些复杂的理论我跳过去省略掉.
: h5 v- W- g6 g* j. jFlash几乎无可能对所发送的referer作假,所幸它有个可以利用的漏洞,那就是sendToURL().
! l& f. ?) c" x0 I. T* x1 @ActionScript3.0里有个叫sendToURL()的功能,这个功能的设计是,发送信息到一个网站,但不用等待响应.' E6 L4 z P3 Y9 |
具体来说,sendToURL()发送一个URL到服务器确认,但不理睬任何响应.也就是说,它用访问者的浏览器(你的cookie stuffing”受害者”)提交一个请求到一个网站,但浏览器被假设为不理睬任何响应.7 y: f' T q' y1 J8 X
但头部信息是不会被拒绝的,cookie能穿越sendToURL()未触及的功能通过去,cookie的植入自然也就无疑问.
2 B: x I7 `0 R3 D# k% ~ H9 }$ k如果你会PHP的话,你可以指定哪个浏览器不发送空白的referers,以及阻止来自被发送到sendToURL()的信息.你还可以设定你的PHP文件指令,优化你想要的CTR比率,以保持稳定的收入.4 f3 t$ x4 q) B# S% q# U' g
此类程序有几种,有的已停止出售.最好是找人写一个针对特定联盟的.当然前提是联盟默许cookie stuffing.8 O+ U8 E' S: u8 D" M; L
前面所讲到的每个cookie stuffing方法,不管是哪个,都会被联盟发现从而封掉你的账号.不信的话你可以多试试看,除非你发现了高手成功的方法.( ~7 K/ S- k; \4 Y3 e1 @. S
那么,联盟是怎样抓住你使用了cookie stuffing的呢?
) n: }6 s) }" F% }6 w首先,image stuffing,包括和它相结合的.htaccess stuffing,被证明是无法改变referer的.1 `9 k/ l: a% U
后面我会讲到如何改变iframes和弹出式窗口的referer.% f1 f, F: t3 X
其次,第二个察觉cookie stuffing的方法是blank referer,这个方法是合法的,但联盟会告诉你不行,或不给你一个明确的答复.
' z- P* q0 l. c# R) G如果你用了blank referer,你认为该怎样解释?这里有2个选择:& F1 S* N# f" A- ~/ ]1 \5 ^
1:你偷偷摸摸地在做某种事情,也就是blackhat% `) v+ z! Q' J. {2 l1 p8 V' d1 Q1 b
2:你隐藏了流量来源.3 j9 q* f) `1 Q% Z5 i
那么,你会用哪个选择来回答联盟呢?1,还是2?
. c3 Z: j' Y2 p3 N1 r% \/ I我直接说吧,永远也不要说你在做blackhat的事情,只说你的流量来源是个机密.
* w9 }" u$ l0 o然后你可能会收到电话或电子邮件,问你空白referer的来源,因此你事先要做好准备.: R+ V1 d9 |& v: l, S) k* j* V
第三个方法是他们用转化率来破解你是否用了cookie stuffers.
* F/ E2 f6 I4 H$ Z什么是转化率?比方说,被你植入cookie的访问者都是潜在的消费者,如果他们没有消费或注册,或很少很少,你的转化率会显示很低.原因是你那些流量都是随机的乱七八糟的,不是目标流量,并没有真的点击了你的链接来到商家网站.
+ |5 M" w# Q+ g8 ~在大多数情况下,联盟不会封掉你的账号,他们仅委婉地告诉你: 你不能再推广那个任务,也许你会发现推广别的任务比较好.) l- E, T1 Y/ D8 g, w' f
第四个方法是联盟用CTR数据来发现你在emu.事实上,图片是不可能有100%的点击率的,这是affiliates界的尺度,所以要注意了.. K: A0 c) ?0 u
最后,最坏的情况是,联盟从你收入的情况来判断你是否emu.8 ~2 y( t. m0 x$ }/ R+ y
怎么判断的呢?联盟用某个一样的比例来衡量affiliates的收入.
% @( S$ \9 u2 s0 y2 f/ C举个例子,假如一万个会员平均月收入是100美元,并有3个人超过了500美元一个月.那么,你会被列入那个人里面,被联盟重点照顾.
" l7 y; p% N$ l联盟不放过每个细节,对你仔细分析哪些是你做对的,哪些是做错的.这就是前面我提到过的,这种时候联盟会来调查电话问你空白流量的来源.
% E# R% E% P7 P% [5 A; l2 L. ]好了,现在我们已知道了联盟是怎样检查我们的,下一步我将讲解如何应对." L' G4 D8 ]( K$ \/ R! w8 {
在(四)里,我们大体已知道了联盟是怎样检查我们的,那么,现在该如何去应对它呢?以下内容是比较深的.
; s9 j4 i o2 S# w7 |( P1 O首先,必须接受这样的事实,在image stuffing里改变referer是不可能的,因此,除非你能承担和把风险降低到最低点,否则不要在网站或论坛搞image stuff.7 x0 q5 H# W$ u1 D
第二,学会如何适当地使用刷新代码.把iframe和刷新2者结合,referer信息将是空白的.
5 d$ Z, |! r. g6 J' u$ N现在不是所有的浏览器都支持上面所说的第二点,因此我们得把它过滤掉.我们做成2个PHP跳转页面,先是第一个刷新页面到达第二个页面,第二个页面自动检查referer信息是否是空白.如果是,那么这个浏览器可以使用.然后我们就可以第二次刷新来到affiliate推广页面.5 v% c$ M' S, L/ k4 G
联盟将看到你的来了来源都是空白的.
9 |7 e. _1 E g9 R5 U ]关于这个2次刷新脚本,不懂的话读者可以自己找人写个.
' e7 m+ {! k6 _0 O6 p" l嗯,有的联盟已规定流量来源不可以是空白的,自然就不能用以上方法.1 Q# g' H. ?. R' B& Z& o
第三7 \0 g# P0 X2 J# A" _3 ^
这个方法已用得很广泛了.如果访问者是通过搜索引擎来到你的网站,那么无疑,这时stuffing是相当安全的,联盟对此情况必定无话可说的.% k. J3 t8 z/ ~) ]- J! o9 n; H
那么我们可以这么做,让搜索引擎收录,比如雅虎的目录;让分类信息站收录,比如craigslist;再比如加入到ebay. 这些都是可以做到的几种不同的方法.
+ v, T0 Z1 c$ V& y, h我们可以用一个htaccess文件转到指定的affiliate链接的来源.
! B9 o7 j9 P. Z( u5 P4 V2 _或者我们可以写一个来源到数据库里,然后让被称为index.php的页面执行.我们可以告诉我们的PHP文件,对写好的某段代码做出决定,即使是来自某个站点的来源也可以改变.; w4 g/ ]/ N8 y
if(substr((trim($_SERVER['HTTP_REFERER'])),0,23)==”http://www.google.com/”), V& g1 D0 o+ C4 D' Q: Z- z! U
{
7 b& c& ]6 M [2 a) \$ C3 n; Jecho “<img src=\”http://www.advertcn.com/affiliatelink” height=\”1\” width=\”1\” alt=\”\”>”;& ]* w$ E8 c4 X" s
}
3 h8 [% x. Z! F: a# B, G现在我们要抛弃掉image stuff,使用加上刷新代码的iframe,或flash文件,用于植入特定的来源对象,没有任何限制.1 Y- c) m; W- ^) \4 c4 A$ z
这个程序能很好的平衡CTR和对流量来源的检验,还能避免你的AM被植入cookies.
' n4 [5 o4 y e不过,需要懂些PHP程序方面的知识才行.如果没这个能力,可以考虑去威客平台找外包,在国外有Freelance programmers接这种活.国内的我觉得就别找了吧.
* b; }5 L4 x4 v: m4 h第四
5 |' J* o" P) Q, Z1 {, i" }这是另一个不会引起别人警觉的在论坛植入cookies的方法,可以设置一个比例,让访问者随机被植入cookies. 比如说设置5%,那么,100个访问者里有5人会被植入cookies. 这个方法工作原理是怎么样的呢? 它有个名称叫动态.htaccess.它包含了2个图片文件和1个.htaccess文件.- z x6 |% |, M% v3 @
当显示图片时,会适时地运行一PHP程序.& d) P$ A* V, \
现在我讲解一下这2个图片.! g8 x2 Q6 Z# v9 M/ {
第一个图片其实是假的,每次被访问会编辑.htaccess文件.我们设置一定的比例多少次图片1被图片2″覆盖”,比如5%.
3 S, _* \0 K$ D下面的代码是5%的时间里时htaccess的写法:
f2 S5 f2 J8 [- r( L$ [3 FRewriteEngine on
2 _/ L' }, P" TRewriteRule signature.jpg signature.php [L,R=301]
5 T" x2 Y1 }" q8 {( ARewriteRule affiliatetracking_pixel.gif http://www.advertcn.com/affiliatelink [L,R=301]
0 K, Z( Q. U4 T* D" d* Q1 F下面的代码是95%的时间里时,htaccess的写法:
* L5 @8 |; b7 n% S' zRewriteEngine on
5 f# U0 R/ z0 fRewriteRule signature.jpg signature.php [L,R=301]
0 a, E4 l: P" g+ M* X) ^& X& ?, m0 h( T! ZRewriteRule affiliatetracking_pixel.gif tp.gif [L,R=301]: _- p; ?; Y% \/ r- Z
就是说,95%的时候,在论坛看到的是正常的签名,5%的时候看到的是×.万一如果有人怀疑这个×,那么,他刷新一下帖子的页面后,看到的又是一个真实的图片.# p+ ^4 r! `, h8 {' ~
这是因为刷新后htaccess又被重写了.
8 [/ N5 f3 b _0 a5 n使用这个方法事先要注意是否容许在论坛推广,以及签名除了图片还可以使用文本., S7 q( d, Z) |
第五
5 G- O& Z; X+ z; ^1 X- k; T前面我们已知道,那个红叉是个麻烦问题.0 q9 C, W9 s8 w6 `
但如果我们是在一般非技术论坛搞cookie植入的话,仅针对火狐浏览器用户植入就可,因为火狐浏览器不会显示红叉,这点它跟IE6/7不一样的.. G2 f5 C: \- Z# p
这个方法的代码如下,由上往下读:
+ @/ R$ C7 B. o- s) IOptions +FollowSymlinks
0 p, n1 h- f+ s; _' L2 T+ O/ JRewriteEngine on$ ~1 ?7 b0 }2 Z0 M7 i
RewriteCond %{HTTP_REFERER} !^$! q* K1 y4 ~) \/ Q; P' L
RewriteRule signature.jpg special.jpg [P,L] ^Mozilla/5.0.*$ [NC]
' j2 k8 s$ h, d. J/ g! j, n+ eRewriteRule signature.jpg http://www.advertcn.com/affiliatelink[R,L]5 d9 w. [- C( K* L0 [; ^/ S
RewriteCond %{HTTP_REFERER} ^$6 c5 S R$ R# k- l! ]( @
RewriteRule signature.jpg special.jpg [P,L]
6 y8 D: W& y% l4 J7 VRewriteCond %{HTTP_USER_AGENT}0 g6 [. N1 s F- W/ G
简单的解读是,如果是火狐浏览器用户,就发送你的推广链接给他们,植入cookie,他们看不到红叉.
" G5 J1 p! Z8 ]. C" f5 {9 M9 P8 l其余IE用户则看到的是真实的图片,不被植入cookie." w2 G' O9 M0 [
这个方法相对来说简便易行.
7 H" J2 o1 @' X结语9 w0 x1 x8 |$ `) ~/ B( J7 D
关于cookie stuffing的秘密,到此算是讲完了,希望各位有所收获.此外,既然是秘密,如今公开了,就说明是有一定时效性的,故运用时需要自己加以改进.
+ f; J7 Q' @, R1 i& E最后,谢谢大家阅读,我期待着有更多的积极性去写其它的内容. |
评分
-
查看全部评分
|