|
前言1 J: ] h5 G4 ?1 n3 D/ @
去年我说过要写个关于cookie stuffing(简称CS)的资料.开写了大部分后, 于去年9月份时中断! {( v1 h- s; c3 p, `/ Q
后来断续又写了一点,还没写完." w3 K: E' j% I% d7 H5 ]# t
现在决定暂时不用PDF形式发布,而是用贴子分几期在5月份发完.
# Z! K& p+ h/ e. T& Z% F整个资料内容不涉及实战,以介绍方法为主,里面的代码来自老外,和本人无关,请注意了. % [5 W% |4 @3 H; ^
OK,首先我还是重复下什么是cookie stuffing的概念
" ?2 p* }& S4 @' \" ncookies是通过html中header(头部信息)传递的,除非浏览器的做了一定安全设置,否则是不会忽略这个信息的.$ Q+ j: o* \2 v4 Q2 ~
既然cookies通过头部信息传送,那么,一个网页可以不必通过一个header传递,通过图片等方式也可以实现.
?! U+ b5 I! b2 b当一个浏览者向服务器发送一个图像请求时,在返回的页面之中,一个header已经被包括了.浏览器获得了header,就不需要管那些文章信息,一个cookies就是这样植入的.
8 a9 s8 E7 r+ K" |) ecookie stuffing的存在是因为广告联盟用cookie来跟踪业绩.用最简单的话就是说,广告联盟给你一个链接,当他人点击了链接并购买了产品,你就获得了佣金.
8 v- C# u; j$ G4 U3 N7 g; q现在你知道了,就是要想办法让人多点击,你就可能得到更多提成.比如把广告图片放在你站上,并尽量使图片和网站融为一体.但可怜的是这样做效果很差,几乎没人点你的广告图片.8 N, ]& E1 \2 d( |; T
所以,怎样强制他人点击链接呢?从而cookie stuffing就这样被发明出来了.它的最终目标就是把affiliate cookies加入浏览者的电脑中,以投机取巧获取利益.' D3 Q e& D: ]5 R
看起来cookie stuffing是一种容易赚钱的方法.当然,广告联盟不是傻瓜,他们有很多办法能抓到你,这在以后会讲到的.+ q7 W- q3 j7 F
基本方法3 p/ G# q7 Q$ D
1. Image Stuffing
8 e) s. [* u/ Rcookie stuffing一般在开头会先讲这个Image Stuffing的,代码很简单,这里是个例子:% b4 X) _. C* [: i! j8 P
<img src=”http://www.advertcn.com/affiliatelink”>
9 L- r M( s, G, n在大多数浏览器,它表现为一个大的红叉,看上去像是服务器出了毛病一样.
2 B9 u) V, M" k& G& E; P在国外大多数论坛有不少会员是专家,如果你在论坛用这个方法,会很容易被他们识破的.% d2 x7 d4 |+ H/ f, D1 ^2 Y( Q
所以, 在实施一些方法前, 还有很多的东西要学.$ H# W0 u8 b: E$ w! U) R. A/ e
回过来继续说Image Stuffing.为了不让用户发现,你不得不设置图片大小为1个像素,代码如下:4 b! r5 t6 |- \1 I- O6 W
<img src=”http://www.advertcn.com/affiliatelink” height=1 width=1>5 I7 D1 M- P$ _. l9 @+ n# q A8 c/ q
但这样还是会显示一个红叉,所以,再给它加上个alt标签,用来替换你想要的文本文字.
( z/ U# u- Z5 M, l4 Q- mimage tag stuff:
% U* d4 v3 g# w6 ?3 f2 G0 @3 }<img src=”http://www.advertcn.com/affiliatelink” height=”1″ width=”1″ alt=” “>3 V9 V7 W! j" \1 D
然后,当它和其它方法结合在一起后,就成为cookie stuffing牢固的基石了,后面会继续讲到的.8 Z' K9 H" e6 ^+ i( o
2. Iframe Stuffing( u1 b) m5 j4 M5 F( j2 O3 O
Iframe对初学者来说相当容易理解(不知道Iframe为何物的,请自己查资料吧),以下是Iframe Stuffing的代码例子.
! h) S. M' s! C6 D) z/ p<iframe src=”http://www.advertcn.com/affiliatelink” height=”1″ width=”1″>" \% T4 {% J6 G6 k- k, [8 G
访问者来到你的网站后,就不知不觉的已打开窗口访问了商家的网站,也就是点击了http://www.advertcn.com/affiliatelink,因为这个Iframe的大小是1个像素,所以访问者毫无知觉.如果他们购买了东西,提成就是你的了./ w P4 f p5 a1 C9 K
Iframe Stuffing也很容易让你马上被banned.当然,也有办法隐蔽它,在后面我们会讨论到.9 \% B- d4 ?* M
3. Javascript Stuffing A0 Q+ ]" G' E" E) A$ E+ @8 M! z
很久以前-从互联网早期,到现在,有个东西叫弹窗的,可以说是最原始的强制植入cookie的方式.确切的说,属于不完全意义上的cookie stuffing.& v% I3 O, Y8 p& T" I. ?' h# \
效果是一样的,只是很令访问者反感.所以大多数浏览器有了可以锁定弹出式窗口的功能.: \% F" ~ o* }( A
现在,我们来到了有点复杂的cookie stuffing的章节-Javascript Stuffing,这个需要一点程序知识,毕竟Javascript是一种脚本语言.因为较难明白,我们就跳过程序知识这部分.: M$ ?0 k. l6 S) h- _" S/ V; T
下面举个代码例子,并简单地解释一下它是如何工作的:! ~7 c: `" x# l5 R( J: ~$ @/ a, ~. x
<script language=”JavaScript”>
. u* l( e- D- }, t<!– window.focus();6 m" G, i2 J2 m
setTimeout(“window.focus()”,900);3 L6 U- M5 c8 B
//–>
8 Z' m% }2 C# X5 R) h</script>7 G' E$ y/ N( L' y" q
<script language=”javascript”>. T; k' B& I# i
<!–
! r) S* H* l' u' Ew=window.open(‘http://www.advertcn.com/affiliatelink’,'affiliate_description’);w.blur();
: e( w7 x% x6 H) @( K//–>
+ P1 \" h- h8 C9 ~</script>& q0 H* i. n( J! Z2 p% |. y H) {
这个独特的方法是过了设定时间后,打开弹出式窗口(商家的网站,或者是你的推广链接),并移离目前主窗口的视觉中心,放置于主窗口的后面,对访问者来说,就不那么烦人侵扰了.
$ x6 w: o; l- v9 N由于访问者其实已用你的链接打开了商家的网站,所以他们被植入了cookie., v) c; m& y! v* @$ o
如果你懂得javascript,懂得弹出式窗口,够精通javascript编程的话,你应该有能力值得花些时间去改进发展Javascript Stuffing.) }( `9 X. z' [
但大多数时候,Javascript Stuffing已进入死胡同,发展余地已不大.
5 T1 o: ]6 X5 }4 U后记:
/ [1 u, k# r, X, V$ T数年前,我在CB培训的群里,也给过学员类似的代码,不一样的在于,我给的是隐形弹窗,也就是说肉眼是看不见这个弹窗的.: o) E2 V5 R% M; G& A8 p V: o& g
代码作者原本是出售这个程序的,后来05年取消了,改为到他网站上在线生成代码.现在他的网站已指向了别的地方,所以别问我要这个东西啊.
$ }2 E: i$ g5 ~3 H; t% C/ @* M& v4. .htaccess stuffing 通常,即使是会点网站设计的人,也不一定知道.htaccess是什么.
* R1 G- L% b! a.htaccess在大多数服务器是个隐藏文件,有时被默认是没有的,所以实际上需要我们建立一个.
( a- G, p3 d6 W* {" V" Z.htaccess这个文件告诉服务器当一个特别条件相适应时,应该去干什么.
, P0 L" T! ?6 a% h5 l好了现在我们至少知道了什么是.htaccess文件,我们就开始复习Image Stuffing代码吧.; [) `" I+ n: b2 N+ D
比如说你在论坛的签名.
9 G4 F6 R% q. j" ~<img src=” ”>
2 y U. q d( i. T2 |" u' J然后我们把以下htaccess文件传到空间里0 K! A8 ^9 W( x5 f% _& b* a: d2 C: d; U
RewriteEngine on
6 J2 ?) c) K7 M+ DRewriteRule signature.jpg http://www.advertcn.com/affiliatelink/ [L,R=301]
; t8 E; q. ~( ]+ i这个htaccess是说,访问者在读取你的论坛签名里的图片时,会被转向到你的affiliate链接,这样他们就被植入了cookie.$ W9 c0 ?; d t7 |- W: f: h
那么,你的图片在浏览器里真正看上去是这样的:
# T7 W6 k( J! J, n* C<img src=”http://www.advertcn.com/affiliatelink”>
- [0 t- M( S* I, y7 R/ V) N& \; o还记得前面讲到过的Image Stuffing吗?现在访问者看到的链接就是一个真实的图片了.
* O( _; a' E- ^7 r( F8 ]8 B5. Flash Stuffing
5 d: l; f3 h$ F关于Flash Stuffing这一部分,还可以参见一本书,CookieStuffingGuide,广告中国有下载,地址:
* y7 w# n$ ~4 z1 O. _ nhttp://advertcn.com/viewthread.php?tid=72234&extra=page%3D1
+ J) ~) L Z0 y' w/ g1 m相信大家都玩过Flash游戏吧,可以使用键盘或鼠标操纵动画里的部分动作,交互性很强,这便是ActionScript的厉害之处,它与JavaScript结构类似,但是它的编程要容易得多." x% d( k. E8 o2 O
用ActionScript创作出来的动画具有很强的交互性,Flash程序脚本语言就是ActionScript,译作行动脚本.最近版本是3.0.& H1 g" b( x* K/ Z% s
讲述Flash Stuffing,专业术语较多,我看资料时头也很大.所以,一些复杂的理论我跳过去省略掉.! l- | D; R$ x% z
Flash几乎无可能对所发送的referer作假,所幸它有个可以利用的漏洞,那就是sendToURL().) p. U8 K9 ^& v" o
ActionScript3.0里有个叫sendToURL()的功能,这个功能的设计是,发送信息到一个网站,但不用等待响应.
0 E' g% z1 m" T+ g7 H: x8 R1 ~! t具体来说,sendToURL()发送一个URL到服务器确认,但不理睬任何响应.也就是说,它用访问者的浏览器(你的cookie stuffing”受害者”)提交一个请求到一个网站,但浏览器被假设为不理睬任何响应.8 e' A6 n4 a# k4 f
但头部信息是不会被拒绝的,cookie能穿越sendToURL()未触及的功能通过去,cookie的植入自然也就无疑问.
; h8 ^+ q6 h. g4 ~+ `. j& b. j4 u3 ^如果你会PHP的话,你可以指定哪个浏览器不发送空白的referers,以及阻止来自被发送到sendToURL()的信息.你还可以设定你的PHP文件指令,优化你想要的CTR比率,以保持稳定的收入./ |7 \) e! N$ f/ M9 R7 q
此类程序有几种,有的已停止出售.最好是找人写一个针对特定联盟的.当然前提是联盟默许cookie stuffing.
, @( h0 F% q8 g前面所讲到的每个cookie stuffing方法,不管是哪个,都会被联盟发现从而封掉你的账号.不信的话你可以多试试看,除非你发现了高手成功的方法.' T3 t& ^* a& c- Z- {7 F- y
那么,联盟是怎样抓住你使用了cookie stuffing的呢?
* ^, w* z7 w- k! N U, w首先,image stuffing,包括和它相结合的.htaccess stuffing,被证明是无法改变referer的.: @' z. @. N3 k0 r# U
后面我会讲到如何改变iframes和弹出式窗口的referer.
7 \, ]. X( I+ `5 I" c' Z- n$ |其次,第二个察觉cookie stuffing的方法是blank referer,这个方法是合法的,但联盟会告诉你不行,或不给你一个明确的答复.
7 a- i, w+ u k; R& B0 w如果你用了blank referer,你认为该怎样解释?这里有2个选择:( b# T' a1 B5 _% c
1:你偷偷摸摸地在做某种事情,也就是blackhat5 L- U0 j( z8 [/ c
2:你隐藏了流量来源.
& r; h+ T5 H' G- |那么,你会用哪个选择来回答联盟呢?1,还是2?9 b A8 ]9 u, P
我直接说吧,永远也不要说你在做blackhat的事情,只说你的流量来源是个机密., @" m/ ]' j) D0 H' x: e; R
然后你可能会收到电话或电子邮件,问你空白referer的来源,因此你事先要做好准备.
7 M7 S+ V) t5 J3 x第三个方法是他们用转化率来破解你是否用了cookie stuffers.
. l/ |! l) ]# S) T) I什么是转化率?比方说,被你植入cookie的访问者都是潜在的消费者,如果他们没有消费或注册,或很少很少,你的转化率会显示很低.原因是你那些流量都是随机的乱七八糟的,不是目标流量,并没有真的点击了你的链接来到商家网站.
% g$ \! N$ h3 Y) [在大多数情况下,联盟不会封掉你的账号,他们仅委婉地告诉你: 你不能再推广那个任务,也许你会发现推广别的任务比较好.( }8 Y( f: q2 G! Z# O( K# f
第四个方法是联盟用CTR数据来发现你在emu.事实上,图片是不可能有100%的点击率的,这是affiliates界的尺度,所以要注意了.7 i u. [0 Z4 J- P. B5 U% w8 K
最后,最坏的情况是,联盟从你收入的情况来判断你是否emu.
( F/ B- n4 n* g F9 D9 v怎么判断的呢?联盟用某个一样的比例来衡量affiliates的收入.
+ R" @6 G* o# M' G2 {举个例子,假如一万个会员平均月收入是100美元,并有3个人超过了500美元一个月.那么,你会被列入那个人里面,被联盟重点照顾.
9 A1 n4 _8 y& v9 o2 g联盟不放过每个细节,对你仔细分析哪些是你做对的,哪些是做错的.这就是前面我提到过的,这种时候联盟会来调查电话问你空白流量的来源.7 A9 Z% b, f7 M$ g, y7 j! p
好了,现在我们已知道了联盟是怎样检查我们的,下一步我将讲解如何应对.+ n- Z$ \% \, S$ z- S# ]/ O
在(四)里,我们大体已知道了联盟是怎样检查我们的,那么,现在该如何去应对它呢?以下内容是比较深的.2 h* d9 G$ c' g( L. f' S
首先,必须接受这样的事实,在image stuffing里改变referer是不可能的,因此,除非你能承担和把风险降低到最低点,否则不要在网站或论坛搞image stuff.9 J/ G' H o; K; e5 Z
第二,学会如何适当地使用刷新代码.把iframe和刷新2者结合,referer信息将是空白的.$ j: ^. m. [: W# w$ d
现在不是所有的浏览器都支持上面所说的第二点,因此我们得把它过滤掉.我们做成2个PHP跳转页面,先是第一个刷新页面到达第二个页面,第二个页面自动检查referer信息是否是空白.如果是,那么这个浏览器可以使用.然后我们就可以第二次刷新来到affiliate推广页面.- p5 b9 r2 x2 J5 b* K4 `
联盟将看到你的来了来源都是空白的., i: E; q4 X$ c
关于这个2次刷新脚本,不懂的话读者可以自己找人写个.
1 p8 |7 P3 W3 f- L; p5 J. \6 o$ j: r嗯,有的联盟已规定流量来源不可以是空白的,自然就不能用以上方法.7 i) r# ~0 y3 y% E9 S/ w
第三7 G* U& H7 \0 T! e
这个方法已用得很广泛了.如果访问者是通过搜索引擎来到你的网站,那么无疑,这时stuffing是相当安全的,联盟对此情况必定无话可说的.
! J6 C7 h! h1 h/ v* A$ r2 P那么我们可以这么做,让搜索引擎收录,比如雅虎的目录;让分类信息站收录,比如craigslist;再比如加入到ebay. 这些都是可以做到的几种不同的方法.$ D* t0 q5 U3 o* K: ~
我们可以用一个htaccess文件转到指定的affiliate链接的来源.
& J! e y K" N9 l" ?. q, _7 `: [或者我们可以写一个来源到数据库里,然后让被称为index.php的页面执行.我们可以告诉我们的PHP文件,对写好的某段代码做出决定,即使是来自某个站点的来源也可以改变.
' z7 t8 v/ f, [: z0 Xif(substr((trim($_SERVER['HTTP_REFERER'])),0,23)==”http://www.google.com/”)4 L8 Z7 W3 r# ^' Q
{
; G, {2 q) b1 s' lecho “<img src=\”http://www.advertcn.com/affiliatelink” height=\”1\” width=\”1\” alt=\”\”>”;: D/ N0 Y) `' q$ Y; c5 N. l$ P
}1 H8 r: C8 J; p" A u
现在我们要抛弃掉image stuff,使用加上刷新代码的iframe,或flash文件,用于植入特定的来源对象,没有任何限制.2 x" S {% ?: Q" a0 }+ z
这个程序能很好的平衡CTR和对流量来源的检验,还能避免你的AM被植入cookies.
0 a7 j P0 U* r( [9 i不过,需要懂些PHP程序方面的知识才行.如果没这个能力,可以考虑去威客平台找外包,在国外有Freelance programmers接这种活.国内的我觉得就别找了吧.
2 v- J4 y& @% x" V* p8 i第四
" b7 D, ~" ] f2 F这是另一个不会引起别人警觉的在论坛植入cookies的方法,可以设置一个比例,让访问者随机被植入cookies. 比如说设置5%,那么,100个访问者里有5人会被植入cookies. 这个方法工作原理是怎么样的呢? 它有个名称叫动态.htaccess.它包含了2个图片文件和1个.htaccess文件.7 v6 A7 B2 f- _, A7 n& ]0 B8 ?, H1 z
当显示图片时,会适时地运行一PHP程序.
- V; r( K7 P; m现在我讲解一下这2个图片.# e6 J i( x8 W( f" P: M0 m
第一个图片其实是假的,每次被访问会编辑.htaccess文件.我们设置一定的比例多少次图片1被图片2″覆盖”,比如5%." S3 C/ e0 ~+ d6 Q( E! p5 C
下面的代码是5%的时间里时htaccess的写法:
3 X0 I5 G2 @+ MRewriteEngine on
8 c5 S' t8 y P# jRewriteRule signature.jpg signature.php [L,R=301]* o6 g- I& a7 W1 t( L
RewriteRule affiliatetracking_pixel.gif http://www.advertcn.com/affiliatelink [L,R=301]7 ?$ g+ h) h1 w+ B9 l: B& v
下面的代码是95%的时间里时,htaccess的写法:9 Z& ~% k) r3 @* O5 h/ s
RewriteEngine on) ~8 j1 c# ^" t' G% j. x
RewriteRule signature.jpg signature.php [L,R=301]
( ]. c+ |/ s: v6 q) M, O8 rRewriteRule affiliatetracking_pixel.gif tp.gif [L,R=301]9 D# {% H! H, c8 K) Z2 L$ W- p7 f
就是说,95%的时候,在论坛看到的是正常的签名,5%的时候看到的是×.万一如果有人怀疑这个×,那么,他刷新一下帖子的页面后,看到的又是一个真实的图片.
# A' g1 a3 g9 X3 U5 c8 E" A$ [这是因为刷新后htaccess又被重写了.
; K2 ^" ]: f u. n+ K4 M使用这个方法事先要注意是否容许在论坛推广,以及签名除了图片还可以使用文本.. s0 H- M* C5 g) E' O# D/ {* ^
第五
H) E0 }' \6 a x4 C) R8 j7 i前面我们已知道,那个红叉是个麻烦问题.
' c6 z9 p3 T: \/ A+ f0 F6 u& S6 c但如果我们是在一般非技术论坛搞cookie植入的话,仅针对火狐浏览器用户植入就可,因为火狐浏览器不会显示红叉,这点它跟IE6/7不一样的.6 d6 F0 E" ?9 ^/ S: q% D) D' K+ A
这个方法的代码如下,由上往下读:
, d- S7 l! N$ L5 ?* KOptions +FollowSymlinks
. P0 X/ T0 Q9 J+ Q- q/ g( `6 CRewriteEngine on
( ~: A) P% P& u' W$ [/ e1 d+ nRewriteCond %{HTTP_REFERER} !^$
0 V) d/ d) X5 u2 `8 A ^6 eRewriteRule signature.jpg special.jpg [P,L] ^Mozilla/5.0.*$ [NC]4 z; Y, U. [4 H. _& F2 n: Q9 S6 _
RewriteRule signature.jpg http://www.advertcn.com/affiliatelink[R,L]
! v# I3 @% u+ F& ^' L7 o- V' _RewriteCond %{HTTP_REFERER} ^$2 t+ R" m# A/ S8 a1 C
RewriteRule signature.jpg special.jpg [P,L]
6 L2 X7 ~ l* B9 f2 B6 R, n- v @RewriteCond %{HTTP_USER_AGENT} A) v" d6 L2 N. |7 T* V" m
简单的解读是,如果是火狐浏览器用户,就发送你的推广链接给他们,植入cookie,他们看不到红叉.
/ o2 {/ \/ @5 U5 b; g其余IE用户则看到的是真实的图片,不被植入cookie.
0 _ X1 d9 `; b, U这个方法相对来说简便易行.4 O8 B' q6 f' q7 }
结语
. h0 E: f3 T& @6 k! w关于cookie stuffing的秘密,到此算是讲完了,希望各位有所收获.此外,既然是秘密,如今公开了,就说明是有一定时效性的,故运用时需要自己加以改进.
1 ~4 X z( [: o8 Q3 Q% F最后,谢谢大家阅读,我期待着有更多的积极性去写其它的内容. |
评分
-
查看全部评分
|