|
|
前言
) S% Y* m. {' H& B4 y9 J4 M7 n4 |去年我说过要写个关于cookie stuffing(简称CS)的资料.开写了大部分后, 于去年9月份时中断
6 `. I5 y* l9 a4 w+ \* R5 Y4 |后来断续又写了一点,还没写完.
+ x. ~ m0 b5 [8 x/ Y- n现在决定暂时不用PDF形式发布,而是用贴子分几期在5月份发完.* l4 H0 X( M# B" `+ h
整个资料内容不涉及实战,以介绍方法为主,里面的代码来自老外,和本人无关,请注意了. $ X6 V, P. w$ `4 R1 n
OK,首先我还是重复下什么是cookie stuffing的概念
1 n. V3 E( f7 T# m" K6 S6 Scookies是通过html中header(头部信息)传递的,除非浏览器的做了一定安全设置,否则是不会忽略这个信息的./ {$ _/ O! s' h {' D8 G
既然cookies通过头部信息传送,那么,一个网页可以不必通过一个header传递,通过图片等方式也可以实现.
8 C! a. K7 q2 M( C" C( e当一个浏览者向服务器发送一个图像请求时,在返回的页面之中,一个header已经被包括了.浏览器获得了header,就不需要管那些文章信息,一个cookies就是这样植入的.6 N, K7 b. Y% S! w7 H! z
cookie stuffing的存在是因为广告联盟用cookie来跟踪业绩.用最简单的话就是说,广告联盟给你一个链接,当他人点击了链接并购买了产品,你就获得了佣金.
$ |; C) m: O' y" u现在你知道了,就是要想办法让人多点击,你就可能得到更多提成.比如把广告图片放在你站上,并尽量使图片和网站融为一体.但可怜的是这样做效果很差,几乎没人点你的广告图片.* D. U! B }0 x
所以,怎样强制他人点击链接呢?从而cookie stuffing就这样被发明出来了.它的最终目标就是把affiliate cookies加入浏览者的电脑中,以投机取巧获取利益.9 E5 Q; F1 r5 x0 w' J& x3 @
看起来cookie stuffing是一种容易赚钱的方法.当然,广告联盟不是傻瓜,他们有很多办法能抓到你,这在以后会讲到的.
' B" ~ e1 y3 O" F5 R- J基本方法' g+ R$ `+ x9 k- d
1. Image Stuffing
2 m* Y: \; J+ i0 u9 S f+ k' J( Kcookie stuffing一般在开头会先讲这个Image Stuffing的,代码很简单,这里是个例子: ^- L- F: [1 Q- }# [/ s
<img src=”http://www.advertcn.com/affiliatelink”>
6 c8 J; j. w2 s" y6 v在大多数浏览器,它表现为一个大的红叉,看上去像是服务器出了毛病一样.
, f+ M* i' ]; V# n, C在国外大多数论坛有不少会员是专家,如果你在论坛用这个方法,会很容易被他们识破的.; a/ L: b* Y9 C$ ]
所以, 在实施一些方法前, 还有很多的东西要学.! D0 d& k: b+ `" z$ s0 g
回过来继续说Image Stuffing.为了不让用户发现,你不得不设置图片大小为1个像素,代码如下:+ K4 q" [2 X* o! j0 J
<img src=”http://www.advertcn.com/affiliatelink” height=1 width=1>
0 ?/ w( H2 Y( D6 ?但这样还是会显示一个红叉,所以,再给它加上个alt标签,用来替换你想要的文本文字.
8 e5 B; F6 J1 w% E3 Limage tag stuff:
6 c0 r: I2 N* \6 U<img src=”http://www.advertcn.com/affiliatelink” height=”1″ width=”1″ alt=” “>4 r! {7 x# F6 r+ f) }$ t
然后,当它和其它方法结合在一起后,就成为cookie stuffing牢固的基石了,后面会继续讲到的.8 i: k6 Y$ h. _
2. Iframe Stuffing
# M1 ~. h, _8 o* tIframe对初学者来说相当容易理解(不知道Iframe为何物的,请自己查资料吧),以下是Iframe Stuffing的代码例子.) g R/ Q/ n" j D* U
<iframe src=”http://www.advertcn.com/affiliatelink” height=”1″ width=”1″>
0 [! a+ _$ A9 }$ M访问者来到你的网站后,就不知不觉的已打开窗口访问了商家的网站,也就是点击了http://www.advertcn.com/affiliatelink,因为这个Iframe的大小是1个像素,所以访问者毫无知觉.如果他们购买了东西,提成就是你的了.
. H- A5 K+ ?3 ?Iframe Stuffing也很容易让你马上被banned.当然,也有办法隐蔽它,在后面我们会讨论到.
4 F; z1 S/ s* V& U" H3. Javascript Stuffing6 U3 |; I- R% \$ t; O+ w+ v
很久以前-从互联网早期,到现在,有个东西叫弹窗的,可以说是最原始的强制植入cookie的方式.确切的说,属于不完全意义上的cookie stuffing.! g" S2 S1 x4 w
效果是一样的,只是很令访问者反感.所以大多数浏览器有了可以锁定弹出式窗口的功能.9 v- k7 K; R$ t9 D, I3 @
现在,我们来到了有点复杂的cookie stuffing的章节-Javascript Stuffing,这个需要一点程序知识,毕竟Javascript是一种脚本语言.因为较难明白,我们就跳过程序知识这部分.
8 W. d# ^- Y/ K下面举个代码例子,并简单地解释一下它是如何工作的:! P# D, W' a) z7 Q
<script language=”JavaScript”>
( U0 S- c7 S$ U* y: B; Y$ c, h<!– window.focus();
# R6 p6 b; w- H8 e4 ]2 GsetTimeout(“window.focus()”,900);( D" ?8 k9 P' A. T5 i0 Z+ ~
//–>
, i& H; n1 D1 O0 `3 [& _1 g3 E</script>; B/ Q" Q. _( J. o) r
<script language=”javascript”>
5 i" Q8 a5 c ~: B' p& N- x<!–
5 b" }$ z) l! v: |& y' V B7 nw=window.open(‘http://www.advertcn.com/affiliatelink’,'affiliate_description’);w.blur();
, g9 e+ N& Y# ?0 F' G//–>$ b; z7 ?7 {; u( I
</script>: L5 V0 R$ V; K+ e! {
这个独特的方法是过了设定时间后,打开弹出式窗口(商家的网站,或者是你的推广链接),并移离目前主窗口的视觉中心,放置于主窗口的后面,对访问者来说,就不那么烦人侵扰了.
- N" N9 x, G) i: \ E& M由于访问者其实已用你的链接打开了商家的网站,所以他们被植入了cookie.
8 }- j% y2 ~9 }1 W1 p6 O& r, ~# I2 w8 c如果你懂得javascript,懂得弹出式窗口,够精通javascript编程的话,你应该有能力值得花些时间去改进发展Javascript Stuffing.
4 Y# [" Q* ?0 B/ E1 J9 F5 b但大多数时候,Javascript Stuffing已进入死胡同,发展余地已不大.
+ u R; I/ P9 }+ W# R7 T2 Q后记:! Y( e2 O8 q' a+ m' u; {% W& N
数年前,我在CB培训的群里,也给过学员类似的代码,不一样的在于,我给的是隐形弹窗,也就是说肉眼是看不见这个弹窗的.
: U8 j) i: j1 I6 l- T- b代码作者原本是出售这个程序的,后来05年取消了,改为到他网站上在线生成代码.现在他的网站已指向了别的地方,所以别问我要这个东西啊.
: M0 ]# \3 B, b+ R M6 v# B4. .htaccess stuffing 通常,即使是会点网站设计的人,也不一定知道.htaccess是什么.( @0 X) d+ Z. ^- n3 O
.htaccess在大多数服务器是个隐藏文件,有时被默认是没有的,所以实际上需要我们建立一个.& i: Z; x" h+ n1 L7 @) x
.htaccess这个文件告诉服务器当一个特别条件相适应时,应该去干什么.
. ?- m. G2 P) R* J, g* y好了现在我们至少知道了什么是.htaccess文件,我们就开始复习Image Stuffing代码吧.2 S' o; f2 f* ?6 L, Z7 n; @* O$ x( @
比如说你在论坛的签名.
$ I- x# q1 V9 N0 i<img src=” ”>9 w& ~6 x3 p% j
然后我们把以下htaccess文件传到空间里
/ I# ?% J, E! X: C0 [RewriteEngine on- v( ~7 P( U$ s$ }" U8 P/ L
RewriteRule signature.jpg http://www.advertcn.com/affiliatelink/ [L,R=301]' c5 ]: C/ |! y' h/ x- R5 ~2 n
这个htaccess是说,访问者在读取你的论坛签名里的图片时,会被转向到你的affiliate链接,这样他们就被植入了cookie.
u+ F9 k* Q8 C7 X! }# Q4 o5 g那么,你的图片在浏览器里真正看上去是这样的:
2 V2 a5 ^" U8 S) Q; ]: q<img src=”http://www.advertcn.com/affiliatelink”>
* F" \' h$ m- D# |) Y还记得前面讲到过的Image Stuffing吗?现在访问者看到的链接就是一个真实的图片了.) z4 e9 v$ Y8 e( d* L) V5 F
5. Flash Stuffing
4 k' L# W9 A1 R: X4 \9 X关于Flash Stuffing这一部分,还可以参见一本书,CookieStuffingGuide,广告中国有下载,地址: P6 E# r f- m$ r
http://advertcn.com/viewthread.php?tid=72234&extra=page%3D11 Y+ Y. z+ X0 x7 e% x) Q% C
相信大家都玩过Flash游戏吧,可以使用键盘或鼠标操纵动画里的部分动作,交互性很强,这便是ActionScript的厉害之处,它与JavaScript结构类似,但是它的编程要容易得多.
3 h1 Q7 z: G3 Q: H1 o0 {3 M9 \用ActionScript创作出来的动画具有很强的交互性,Flash程序脚本语言就是ActionScript,译作行动脚本.最近版本是3.0.
0 R* |" q0 q- p4 V! x; F讲述Flash Stuffing,专业术语较多,我看资料时头也很大.所以,一些复杂的理论我跳过去省略掉.8 D6 f; @* v8 S* n8 T7 G, f
Flash几乎无可能对所发送的referer作假,所幸它有个可以利用的漏洞,那就是sendToURL().* ^* r6 t4 J/ S( [5 o7 d# x
ActionScript3.0里有个叫sendToURL()的功能,这个功能的设计是,发送信息到一个网站,但不用等待响应.
9 _6 ]! l- Q* n2 Z7 g* o: W$ [具体来说,sendToURL()发送一个URL到服务器确认,但不理睬任何响应.也就是说,它用访问者的浏览器(你的cookie stuffing”受害者”)提交一个请求到一个网站,但浏览器被假设为不理睬任何响应.
, V/ d5 {3 ]7 m7 S7 B1 d但头部信息是不会被拒绝的,cookie能穿越sendToURL()未触及的功能通过去,cookie的植入自然也就无疑问. ]- R# t. d- s. e) N
如果你会PHP的话,你可以指定哪个浏览器不发送空白的referers,以及阻止来自被发送到sendToURL()的信息.你还可以设定你的PHP文件指令,优化你想要的CTR比率,以保持稳定的收入.
: d. k3 u; [% N3 G, W3 h此类程序有几种,有的已停止出售.最好是找人写一个针对特定联盟的.当然前提是联盟默许cookie stuffing.. z4 s) z. B P$ a% O
前面所讲到的每个cookie stuffing方法,不管是哪个,都会被联盟发现从而封掉你的账号.不信的话你可以多试试看,除非你发现了高手成功的方法.
# l7 q! |2 X( k! O那么,联盟是怎样抓住你使用了cookie stuffing的呢?0 E: \/ r/ ^1 \) k c( N
首先,image stuffing,包括和它相结合的.htaccess stuffing,被证明是无法改变referer的.6 o2 _+ @3 v$ ~% P3 u
后面我会讲到如何改变iframes和弹出式窗口的referer.
$ c4 x5 y4 L* [: Q3 j5 N* Q其次,第二个察觉cookie stuffing的方法是blank referer,这个方法是合法的,但联盟会告诉你不行,或不给你一个明确的答复.
6 G( a( b$ }2 ~ J# E$ t如果你用了blank referer,你认为该怎样解释?这里有2个选择:- b. }# J" \5 m6 ~& K' [
1:你偷偷摸摸地在做某种事情,也就是blackhat) p4 M4 w& Y$ i9 s: p& G8 F$ N
2:你隐藏了流量来源.$ B! e. L% ^7 q8 P9 n, W! i' d
那么,你会用哪个选择来回答联盟呢?1,还是2?2 ~5 G! R1 z& g; P
我直接说吧,永远也不要说你在做blackhat的事情,只说你的流量来源是个机密.
* W4 y. z# G0 v8 } Z& w p然后你可能会收到电话或电子邮件,问你空白referer的来源,因此你事先要做好准备.
2 `8 n, G+ [/ b, d, Z. ?第三个方法是他们用转化率来破解你是否用了cookie stuffers.7 E3 C. k. |; ?0 C: k& r. I
什么是转化率?比方说,被你植入cookie的访问者都是潜在的消费者,如果他们没有消费或注册,或很少很少,你的转化率会显示很低.原因是你那些流量都是随机的乱七八糟的,不是目标流量,并没有真的点击了你的链接来到商家网站.! r- W0 Q( P1 A/ ?8 D; E& l
在大多数情况下,联盟不会封掉你的账号,他们仅委婉地告诉你: 你不能再推广那个任务,也许你会发现推广别的任务比较好./ ^" J/ t' e( j6 S3 u
第四个方法是联盟用CTR数据来发现你在emu.事实上,图片是不可能有100%的点击率的,这是affiliates界的尺度,所以要注意了.
4 b% g* L( F8 z6 h% P" ^最后,最坏的情况是,联盟从你收入的情况来判断你是否emu.
9 P1 T3 s4 I/ t) A$ y% e$ W) |1 u怎么判断的呢?联盟用某个一样的比例来衡量affiliates的收入.
! i) F; k0 D+ R2 C6 A+ z举个例子,假如一万个会员平均月收入是100美元,并有3个人超过了500美元一个月.那么,你会被列入那个人里面,被联盟重点照顾.3 A5 u0 y: y# j" `9 ~9 W) X
联盟不放过每个细节,对你仔细分析哪些是你做对的,哪些是做错的.这就是前面我提到过的,这种时候联盟会来调查电话问你空白流量的来源.2 U3 J+ n, r m0 K" b
好了,现在我们已知道了联盟是怎样检查我们的,下一步我将讲解如何应对.
, u1 S* F* K0 N在(四)里,我们大体已知道了联盟是怎样检查我们的,那么,现在该如何去应对它呢?以下内容是比较深的.
- a+ J% ]5 n0 r. O& O# E8 O首先,必须接受这样的事实,在image stuffing里改变referer是不可能的,因此,除非你能承担和把风险降低到最低点,否则不要在网站或论坛搞image stuff.
" ^1 ~/ `9 n% ?9 |第二,学会如何适当地使用刷新代码.把iframe和刷新2者结合,referer信息将是空白的.
$ P9 Z# D+ p9 D M& h现在不是所有的浏览器都支持上面所说的第二点,因此我们得把它过滤掉.我们做成2个PHP跳转页面,先是第一个刷新页面到达第二个页面,第二个页面自动检查referer信息是否是空白.如果是,那么这个浏览器可以使用.然后我们就可以第二次刷新来到affiliate推广页面.. B/ B+ O! M! n' j* y) c: Y/ |
联盟将看到你的来了来源都是空白的.& p J5 w4 s0 H
关于这个2次刷新脚本,不懂的话读者可以自己找人写个.
8 V1 g9 C, h4 N M& c' S嗯,有的联盟已规定流量来源不可以是空白的,自然就不能用以上方法." S2 c$ @$ I/ s( Y# M8 n
第三
; D( [1 O5 u9 J* o& R; o, {1 C9 z这个方法已用得很广泛了.如果访问者是通过搜索引擎来到你的网站,那么无疑,这时stuffing是相当安全的,联盟对此情况必定无话可说的.# v( g2 v1 r% Q6 x, r! n
那么我们可以这么做,让搜索引擎收录,比如雅虎的目录;让分类信息站收录,比如craigslist;再比如加入到ebay. 这些都是可以做到的几种不同的方法.
' n: H$ ?0 {6 G- \ v我们可以用一个htaccess文件转到指定的affiliate链接的来源.6 m6 q% K5 Y' n- \; N4 z* P j
或者我们可以写一个来源到数据库里,然后让被称为index.php的页面执行.我们可以告诉我们的PHP文件,对写好的某段代码做出决定,即使是来自某个站点的来源也可以改变.$ A; ^' C$ w, ]4 j
if(substr((trim($_SERVER['HTTP_REFERER'])),0,23)==”http://www.google.com/”) h, V# b- A+ u3 x
{
9 u7 ]5 W& t: X5 |' Decho “<img src=\”http://www.advertcn.com/affiliatelink” height=\”1\” width=\”1\” alt=\”\”>”; R, ^( H5 _. y
}. v" \* I9 [3 x* Q
现在我们要抛弃掉image stuff,使用加上刷新代码的iframe,或flash文件,用于植入特定的来源对象,没有任何限制.5 X& S0 J4 I. k" H
这个程序能很好的平衡CTR和对流量来源的检验,还能避免你的AM被植入cookies.
$ @% H8 z U) p7 A W% g不过,需要懂些PHP程序方面的知识才行.如果没这个能力,可以考虑去威客平台找外包,在国外有Freelance programmers接这种活.国内的我觉得就别找了吧.; n; g7 Q }4 H, }: g
第四
( R0 F7 N7 m# x+ O5 ?1 p这是另一个不会引起别人警觉的在论坛植入cookies的方法,可以设置一个比例,让访问者随机被植入cookies. 比如说设置5%,那么,100个访问者里有5人会被植入cookies. 这个方法工作原理是怎么样的呢? 它有个名称叫动态.htaccess.它包含了2个图片文件和1个.htaccess文件.
" D& K; E5 ]$ o( r当显示图片时,会适时地运行一PHP程序.
2 q1 ?8 e9 k: w' b* z; R5 g现在我讲解一下这2个图片.
4 j; [: P* p, {0 g$ r$ f. u' [第一个图片其实是假的,每次被访问会编辑.htaccess文件.我们设置一定的比例多少次图片1被图片2″覆盖”,比如5%.
# Q8 ?% ~! \8 J: T下面的代码是5%的时间里时htaccess的写法:; i2 `3 C3 H7 c& I* U& L2 q
RewriteEngine on
% g, Y6 w3 j% T$ ?1 `RewriteRule signature.jpg signature.php [L,R=301]& l* r8 t3 c, L/ W
RewriteRule affiliatetracking_pixel.gif http://www.advertcn.com/affiliatelink [L,R=301]
- G' q) ]2 r. s% g$ M下面的代码是95%的时间里时,htaccess的写法:% i: F1 ?% A$ c. [3 m j
RewriteEngine on+ K, T( Z& A" y6 n
RewriteRule signature.jpg signature.php [L,R=301]
3 P' P& H& ]% K# b( I+ K& sRewriteRule affiliatetracking_pixel.gif tp.gif [L,R=301]- d8 ]2 x, t) ]& W4 L' V5 t" h
就是说,95%的时候,在论坛看到的是正常的签名,5%的时候看到的是×.万一如果有人怀疑这个×,那么,他刷新一下帖子的页面后,看到的又是一个真实的图片.$ Y. L- ]' q1 w6 ^# |
这是因为刷新后htaccess又被重写了.
0 \3 H# q6 {, j/ F) v0 P# ?使用这个方法事先要注意是否容许在论坛推广,以及签名除了图片还可以使用文本.( }; w- A2 T5 z I
第五. _" C5 h* S+ g$ O \
前面我们已知道,那个红叉是个麻烦问题.3 L* b. v; f/ [3 a4 x% T
但如果我们是在一般非技术论坛搞cookie植入的话,仅针对火狐浏览器用户植入就可,因为火狐浏览器不会显示红叉,这点它跟IE6/7不一样的.2 ? `1 O ?7 z' O {# d
这个方法的代码如下,由上往下读:* C" d5 x% `: [. R* e0 j
Options +FollowSymlinks
3 R, d ^+ m' tRewriteEngine on
2 S2 p% w% ?! i. i! x; S5 \RewriteCond %{HTTP_REFERER} !^$
5 B8 [! x3 y6 j4 W# tRewriteRule signature.jpg special.jpg [P,L] ^Mozilla/5.0.*$ [NC]
3 e/ c( g8 o t i5 d1 D: ~, ]RewriteRule signature.jpg http://www.advertcn.com/affiliatelink[R,L]6 a( e' Q: Z% P1 l3 `
RewriteCond %{HTTP_REFERER} ^$
0 J- e8 W6 }* c4 L1 J* G XRewriteRule signature.jpg special.jpg [P,L]
9 A$ R' V) p/ W# K3 jRewriteCond %{HTTP_USER_AGENT}' ^* \! @/ @* f# [
简单的解读是,如果是火狐浏览器用户,就发送你的推广链接给他们,植入cookie,他们看不到红叉.4 L0 j" V6 t% V/ |, N% x
其余IE用户则看到的是真实的图片,不被植入cookie.
) b, U, ?/ X& \9 C/ X( f, j; P这个方法相对来说简便易行.; s: H. ^; M' m& q5 ]
结语
, V* B# p" J2 C2 k! M9 I" V4 ?关于cookie stuffing的秘密,到此算是讲完了,希望各位有所收获.此外,既然是秘密,如今公开了,就说明是有一定时效性的,故运用时需要自己加以改进.
9 b6 [' r& q) c p$ _2 r最后,谢谢大家阅读,我期待着有更多的积极性去写其它的内容. |
评分
-
查看全部评分
|