|
|
前言' S8 W5 ?6 i8 F' I$ L
去年我说过要写个关于cookie stuffing(简称CS)的资料.开写了大部分后, 于去年9月份时中断5 b6 Z9 h: c, ?* p" o4 G
后来断续又写了一点,还没写完.1 E( g2 p3 q3 p0 h+ m
现在决定暂时不用PDF形式发布,而是用贴子分几期在5月份发完.
4 h6 Y1 k/ _" u9 T) t整个资料内容不涉及实战,以介绍方法为主,里面的代码来自老外,和本人无关,请注意了. ! U# G s) P: F* m9 n, a
OK,首先我还是重复下什么是cookie stuffing的概念
" `* Y/ ]8 L8 D6 k" V6 }9 W1 jcookies是通过html中header(头部信息)传递的,除非浏览器的做了一定安全设置,否则是不会忽略这个信息的.
! g' y) n8 R1 L既然cookies通过头部信息传送,那么,一个网页可以不必通过一个header传递,通过图片等方式也可以实现.
7 m& [: `6 e& H当一个浏览者向服务器发送一个图像请求时,在返回的页面之中,一个header已经被包括了.浏览器获得了header,就不需要管那些文章信息,一个cookies就是这样植入的.# P2 M" K4 ?" Z9 X
cookie stuffing的存在是因为广告联盟用cookie来跟踪业绩.用最简单的话就是说,广告联盟给你一个链接,当他人点击了链接并购买了产品,你就获得了佣金.
" w' Q0 x# x6 X/ q" R( w现在你知道了,就是要想办法让人多点击,你就可能得到更多提成.比如把广告图片放在你站上,并尽量使图片和网站融为一体.但可怜的是这样做效果很差,几乎没人点你的广告图片.
" e5 F4 M, q8 _所以,怎样强制他人点击链接呢?从而cookie stuffing就这样被发明出来了.它的最终目标就是把affiliate cookies加入浏览者的电脑中,以投机取巧获取利益.
G y8 G, ]& m1 q- j: C8 O看起来cookie stuffing是一种容易赚钱的方法.当然,广告联盟不是傻瓜,他们有很多办法能抓到你,这在以后会讲到的.
6 L% W% f. _9 _* ?) H基本方法
, i6 S/ z+ X+ j" d% N1. Image Stuffing
) x2 I1 ]+ t4 |( |8 P( W- @cookie stuffing一般在开头会先讲这个Image Stuffing的,代码很简单,这里是个例子:3 @9 q* w7 P3 r Z+ A
<img src=”http://www.advertcn.com/affiliatelink”>. p9 h- S W& Q0 ]+ H
在大多数浏览器,它表现为一个大的红叉,看上去像是服务器出了毛病一样.& z6 v, ^% u: t/ b' I
在国外大多数论坛有不少会员是专家,如果你在论坛用这个方法,会很容易被他们识破的.
0 O. i' U3 \$ P7 U( }4 ?- F8 h- Z所以, 在实施一些方法前, 还有很多的东西要学.
3 j1 O7 x" x- ?# |2 }回过来继续说Image Stuffing.为了不让用户发现,你不得不设置图片大小为1个像素,代码如下:
" j0 ?% G6 K( t+ `6 k; r<img src=”http://www.advertcn.com/affiliatelink” height=1 width=1>. b9 `: \5 B9 s" V" |. {
但这样还是会显示一个红叉,所以,再给它加上个alt标签,用来替换你想要的文本文字.
, r0 E; J# V1 limage tag stuff:
4 A7 k2 i: J+ j2 d5 P<img src=”http://www.advertcn.com/affiliatelink” height=”1″ width=”1″ alt=” “>' a( g' R# Y! n4 |5 U2 }: S
然后,当它和其它方法结合在一起后,就成为cookie stuffing牢固的基石了,后面会继续讲到的.7 Q" `, a3 w0 w4 h
2. Iframe Stuffing5 h) a k2 a, {0 A
Iframe对初学者来说相当容易理解(不知道Iframe为何物的,请自己查资料吧),以下是Iframe Stuffing的代码例子.2 m, K+ R5 ~/ {, S+ Y4 |
<iframe src=”http://www.advertcn.com/affiliatelink” height=”1″ width=”1″>6 z6 J h; d& y% {0 u, o
访问者来到你的网站后,就不知不觉的已打开窗口访问了商家的网站,也就是点击了http://www.advertcn.com/affiliatelink,因为这个Iframe的大小是1个像素,所以访问者毫无知觉.如果他们购买了东西,提成就是你的了.
0 i6 S- y7 p* gIframe Stuffing也很容易让你马上被banned.当然,也有办法隐蔽它,在后面我们会讨论到. w% B- j+ ]/ x. K% i- X+ G
3. Javascript Stuffing( N( |9 [: y: l, o
很久以前-从互联网早期,到现在,有个东西叫弹窗的,可以说是最原始的强制植入cookie的方式.确切的说,属于不完全意义上的cookie stuffing.- t: J4 _! ]+ n x4 o W3 P% S/ l
效果是一样的,只是很令访问者反感.所以大多数浏览器有了可以锁定弹出式窗口的功能.
- Y- y1 ^7 h& z9 R现在,我们来到了有点复杂的cookie stuffing的章节-Javascript Stuffing,这个需要一点程序知识,毕竟Javascript是一种脚本语言.因为较难明白,我们就跳过程序知识这部分.
6 u+ P& e2 l" \: c X* x( r下面举个代码例子,并简单地解释一下它是如何工作的:
: x, w1 W: W! E9 Y9 t0 p<script language=”JavaScript”>
4 P4 ?3 r9 g& n1 G+ C. |8 w<!– window.focus();
' r0 l1 y/ ]4 bsetTimeout(“window.focus()”,900);
: Q7 G1 t1 {* |* T% b//–># z& d- c4 F/ G) o0 ] h
</script>3 L3 Z9 }' e5 P$ G
<script language=”javascript”>
- d) v8 O* L# H2 p( E. z<!–
; i' w: N( N: m; z4 V6 \ i6 ` Ow=window.open(‘http://www.advertcn.com/affiliatelink’,'affiliate_description’);w.blur();
( b% q& k+ y7 k2 K//–>
. {; V$ V; n7 C</script>
+ L9 w" ]1 V+ {$ ]这个独特的方法是过了设定时间后,打开弹出式窗口(商家的网站,或者是你的推广链接),并移离目前主窗口的视觉中心,放置于主窗口的后面,对访问者来说,就不那么烦人侵扰了.+ d V/ ^$ \& c! y9 V( ]6 Y; n) h
由于访问者其实已用你的链接打开了商家的网站,所以他们被植入了cookie.
7 ^! }) y' G9 a) e& A5 p如果你懂得javascript,懂得弹出式窗口,够精通javascript编程的话,你应该有能力值得花些时间去改进发展Javascript Stuffing.
5 r4 M) j! S5 F" z. D. _但大多数时候,Javascript Stuffing已进入死胡同,发展余地已不大./ c; R6 i6 @- @) Y" O+ S* ^1 M
后记:2 `) l8 U& t- |# u7 Y2 d0 u! ]
数年前,我在CB培训的群里,也给过学员类似的代码,不一样的在于,我给的是隐形弹窗,也就是说肉眼是看不见这个弹窗的.1 l$ T& W+ z/ v5 E, b( U4 u/ S+ M
代码作者原本是出售这个程序的,后来05年取消了,改为到他网站上在线生成代码.现在他的网站已指向了别的地方,所以别问我要这个东西啊.* _" T& ?0 d/ d1 V5 @9 N- D, i
4. .htaccess stuffing 通常,即使是会点网站设计的人,也不一定知道.htaccess是什么.
; \9 Z* n# o9 W2 R3 |5 j! I# p.htaccess在大多数服务器是个隐藏文件,有时被默认是没有的,所以实际上需要我们建立一个.' ]* m& Y4 L! p! K
.htaccess这个文件告诉服务器当一个特别条件相适应时,应该去干什么.
" r9 d: D" L& O' ~1 G/ m& ?3 A好了现在我们至少知道了什么是.htaccess文件,我们就开始复习Image Stuffing代码吧.! T# w- C [# \6 I
比如说你在论坛的签名.* ^ B L0 B, {& [
<img src=” ”>4 O9 o# f+ l4 Z- u
然后我们把以下htaccess文件传到空间里8 M/ r- r9 J7 K
RewriteEngine on/ [7 m9 g" \( G( @5 V/ t
RewriteRule signature.jpg http://www.advertcn.com/affiliatelink/ [L,R=301]* E' h* j' K3 [* c9 p8 k; k
这个htaccess是说,访问者在读取你的论坛签名里的图片时,会被转向到你的affiliate链接,这样他们就被植入了cookie.$ m. h" b1 F* H: ~% T/ F
那么,你的图片在浏览器里真正看上去是这样的:
9 K$ U3 T5 }) E+ f<img src=”http://www.advertcn.com/affiliatelink”>
5 t- `8 L9 `: M0 C# ?" n还记得前面讲到过的Image Stuffing吗?现在访问者看到的链接就是一个真实的图片了.
. D" b; V6 }9 p6 l4 s1 v! Q5. Flash Stuffing: G" J$ k. O, U7 E5 o' k' K" i: M
关于Flash Stuffing这一部分,还可以参见一本书,CookieStuffingGuide,广告中国有下载,地址:
+ d5 \# O8 t$ `http://advertcn.com/viewthread.php?tid=72234&extra=page%3D1
. A8 s- ?: M: }2 \0 e# o7 ]: F6 E相信大家都玩过Flash游戏吧,可以使用键盘或鼠标操纵动画里的部分动作,交互性很强,这便是ActionScript的厉害之处,它与JavaScript结构类似,但是它的编程要容易得多.2 J5 w5 G3 z& n4 G9 ]
用ActionScript创作出来的动画具有很强的交互性,Flash程序脚本语言就是ActionScript,译作行动脚本.最近版本是3.0.- h; ?3 g8 y' k
讲述Flash Stuffing,专业术语较多,我看资料时头也很大.所以,一些复杂的理论我跳过去省略掉.
! V2 N0 f/ [) Z( P0 D1 kFlash几乎无可能对所发送的referer作假,所幸它有个可以利用的漏洞,那就是sendToURL().2 ~' Z9 h5 B7 L7 ^) l7 z9 F# R
ActionScript3.0里有个叫sendToURL()的功能,这个功能的设计是,发送信息到一个网站,但不用等待响应.
) Y# W6 }; o& c! J具体来说,sendToURL()发送一个URL到服务器确认,但不理睬任何响应.也就是说,它用访问者的浏览器(你的cookie stuffing”受害者”)提交一个请求到一个网站,但浏览器被假设为不理睬任何响应.
) ^! k# r+ q* e7 E但头部信息是不会被拒绝的,cookie能穿越sendToURL()未触及的功能通过去,cookie的植入自然也就无疑问.8 E. d: K5 G* _) H0 [
如果你会PHP的话,你可以指定哪个浏览器不发送空白的referers,以及阻止来自被发送到sendToURL()的信息.你还可以设定你的PHP文件指令,优化你想要的CTR比率,以保持稳定的收入.2 L: s) `) ?' Q& V% v$ B5 n; {8 b
此类程序有几种,有的已停止出售.最好是找人写一个针对特定联盟的.当然前提是联盟默许cookie stuffing.# ^* v6 }2 H6 g# ~: e E7 u( v
前面所讲到的每个cookie stuffing方法,不管是哪个,都会被联盟发现从而封掉你的账号.不信的话你可以多试试看,除非你发现了高手成功的方法.
* s- J" @' d1 @# x. M! q那么,联盟是怎样抓住你使用了cookie stuffing的呢?
, \( j; A) [* @1 k* h2 `' H首先,image stuffing,包括和它相结合的.htaccess stuffing,被证明是无法改变referer的.
+ S$ y0 p# k+ w5 e+ F" I后面我会讲到如何改变iframes和弹出式窗口的referer.: [( t: ?, U2 u9 C E0 W
其次,第二个察觉cookie stuffing的方法是blank referer,这个方法是合法的,但联盟会告诉你不行,或不给你一个明确的答复.
# T+ t* r1 m9 a/ N如果你用了blank referer,你认为该怎样解释?这里有2个选择:. Z* _9 J2 f- f# u- F( q, d
1:你偷偷摸摸地在做某种事情,也就是blackhat
% z6 E' w0 `2 ~9 v2 ^' ]( r4 c, L2:你隐藏了流量来源.+ q) E& P8 J) I# c5 L" [
那么,你会用哪个选择来回答联盟呢?1,还是2?
* P& l# B( k2 l I我直接说吧,永远也不要说你在做blackhat的事情,只说你的流量来源是个机密.* ^ G/ S8 W0 \% N0 J
然后你可能会收到电话或电子邮件,问你空白referer的来源,因此你事先要做好准备.
, F3 |& m3 T8 R7 V8 O5 S第三个方法是他们用转化率来破解你是否用了cookie stuffers.9 Z* S- R. H& F" E) H" A# Y6 ~4 J
什么是转化率?比方说,被你植入cookie的访问者都是潜在的消费者,如果他们没有消费或注册,或很少很少,你的转化率会显示很低.原因是你那些流量都是随机的乱七八糟的,不是目标流量,并没有真的点击了你的链接来到商家网站.
; w! F1 Q& D/ A7 d0 l3 L& H在大多数情况下,联盟不会封掉你的账号,他们仅委婉地告诉你: 你不能再推广那个任务,也许你会发现推广别的任务比较好.) K4 y2 {! s7 G9 O* n! o
第四个方法是联盟用CTR数据来发现你在emu.事实上,图片是不可能有100%的点击率的,这是affiliates界的尺度,所以要注意了.0 w: v5 B9 j0 @8 W
最后,最坏的情况是,联盟从你收入的情况来判断你是否emu.
- x* X! j2 \3 \% Z怎么判断的呢?联盟用某个一样的比例来衡量affiliates的收入.
6 J" l; Z7 V: W7 G% {举个例子,假如一万个会员平均月收入是100美元,并有3个人超过了500美元一个月.那么,你会被列入那个人里面,被联盟重点照顾.* z3 Y8 B' u2 ]+ U: `. `8 [
联盟不放过每个细节,对你仔细分析哪些是你做对的,哪些是做错的.这就是前面我提到过的,这种时候联盟会来调查电话问你空白流量的来源.) H U/ a- b V* y* D6 N
好了,现在我们已知道了联盟是怎样检查我们的,下一步我将讲解如何应对.
6 _% [3 x2 L0 t- w$ P% m$ H5 U( x在(四)里,我们大体已知道了联盟是怎样检查我们的,那么,现在该如何去应对它呢?以下内容是比较深的.
4 H0 Z \. v l" Q首先,必须接受这样的事实,在image stuffing里改变referer是不可能的,因此,除非你能承担和把风险降低到最低点,否则不要在网站或论坛搞image stuff.) l0 B) h4 r8 P
第二,学会如何适当地使用刷新代码.把iframe和刷新2者结合,referer信息将是空白的.
6 H) g; m# ]# v现在不是所有的浏览器都支持上面所说的第二点,因此我们得把它过滤掉.我们做成2个PHP跳转页面,先是第一个刷新页面到达第二个页面,第二个页面自动检查referer信息是否是空白.如果是,那么这个浏览器可以使用.然后我们就可以第二次刷新来到affiliate推广页面.
3 p, C- ]- w# L3 w9 q4 P联盟将看到你的来了来源都是空白的.# Q' p: ^* W, ]
关于这个2次刷新脚本,不懂的话读者可以自己找人写个.& B8 p: k; g* s& ~* n+ K) J- k
嗯,有的联盟已规定流量来源不可以是空白的,自然就不能用以上方法.: p# E: g) S% @+ O- ]* }
第三
4 G$ T! L9 W3 @/ T5 H) n这个方法已用得很广泛了.如果访问者是通过搜索引擎来到你的网站,那么无疑,这时stuffing是相当安全的,联盟对此情况必定无话可说的.
1 r% ` S; A7 Q1 G2 N那么我们可以这么做,让搜索引擎收录,比如雅虎的目录;让分类信息站收录,比如craigslist;再比如加入到ebay. 这些都是可以做到的几种不同的方法.
2 P7 I- @, e B) A1 v5 u9 M我们可以用一个htaccess文件转到指定的affiliate链接的来源.
0 w5 l7 `; O# [! @或者我们可以写一个来源到数据库里,然后让被称为index.php的页面执行.我们可以告诉我们的PHP文件,对写好的某段代码做出决定,即使是来自某个站点的来源也可以改变.
6 [. P+ l, B9 i. w5 C, H4 gif(substr((trim($_SERVER['HTTP_REFERER'])),0,23)==”http://www.google.com/”)7 x6 ^/ h) _; D# c
{/ N4 _- K% j1 `+ M
echo “<img src=\”http://www.advertcn.com/affiliatelink” height=\”1\” width=\”1\” alt=\”\”>”;" t1 @! I8 s0 N. f' i/ `$ Q+ H
}7 }, u3 s/ v: h: `
现在我们要抛弃掉image stuff,使用加上刷新代码的iframe,或flash文件,用于植入特定的来源对象,没有任何限制. O+ R; |; R) u4 t0 X2 G- e/ V4 W* R
这个程序能很好的平衡CTR和对流量来源的检验,还能避免你的AM被植入cookies.0 q# `* K4 d |& j
不过,需要懂些PHP程序方面的知识才行.如果没这个能力,可以考虑去威客平台找外包,在国外有Freelance programmers接这种活.国内的我觉得就别找了吧.
9 j9 p- d! L# D, b- f第四
4 x, J b1 H$ W, `# C5 a# v这是另一个不会引起别人警觉的在论坛植入cookies的方法,可以设置一个比例,让访问者随机被植入cookies. 比如说设置5%,那么,100个访问者里有5人会被植入cookies. 这个方法工作原理是怎么样的呢? 它有个名称叫动态.htaccess.它包含了2个图片文件和1个.htaccess文件.
' y' L- m- h. S2 a. ?, i当显示图片时,会适时地运行一PHP程序.
3 E* T1 K/ R* `现在我讲解一下这2个图片.% c" f7 Q' v' s& C. V2 D7 A% N0 [
第一个图片其实是假的,每次被访问会编辑.htaccess文件.我们设置一定的比例多少次图片1被图片2″覆盖”,比如5%.9 W7 H+ W' W( m* Y, _6 A- h+ U/ I
下面的代码是5%的时间里时htaccess的写法:4 Z$ Z9 X0 _/ I3 F+ O. l2 C
RewriteEngine on
9 |. V2 J; q* U) _3 m; QRewriteRule signature.jpg signature.php [L,R=301]
' I1 |2 D9 o- A) @# v7 \RewriteRule affiliatetracking_pixel.gif http://www.advertcn.com/affiliatelink [L,R=301]9 A7 x) J5 H& F1 z
下面的代码是95%的时间里时,htaccess的写法:
! V- E M `( tRewriteEngine on8 y, r7 u( C, {
RewriteRule signature.jpg signature.php [L,R=301] T- r7 ?% @ ]% N
RewriteRule affiliatetracking_pixel.gif tp.gif [L,R=301]
/ N& N. |+ F9 M. s# w( c( F就是说,95%的时候,在论坛看到的是正常的签名,5%的时候看到的是×.万一如果有人怀疑这个×,那么,他刷新一下帖子的页面后,看到的又是一个真实的图片.6 J' b2 l0 P& N
这是因为刷新后htaccess又被重写了.
3 ~3 t3 A0 P& G; x使用这个方法事先要注意是否容许在论坛推广,以及签名除了图片还可以使用文本.
& j& l. A/ Y2 ~; m/ d' Z第五
2 I& @3 P8 _5 z- o r前面我们已知道,那个红叉是个麻烦问题.
( _( g5 Y. B0 b5 A0 L4 T$ _但如果我们是在一般非技术论坛搞cookie植入的话,仅针对火狐浏览器用户植入就可,因为火狐浏览器不会显示红叉,这点它跟IE6/7不一样的.
4 K8 r$ i; g+ M% V! d- |这个方法的代码如下,由上往下读:* I B/ F* I- w' T
Options +FollowSymlinks Q2 D3 ]$ n, @9 a. s( v3 V, n
RewriteEngine on
: B3 }% n$ V0 }* W! B/ ARewriteCond %{HTTP_REFERER} !^$1 o4 K" g& T: x M5 ]' f( x0 D8 G0 ~
RewriteRule signature.jpg special.jpg [P,L] ^Mozilla/5.0.*$ [NC]1 s# ^8 f' H' Y0 T6 g; L+ H
RewriteRule signature.jpg http://www.advertcn.com/affiliatelink[R,L]
- k- f/ P# q' d" A' h6 RRewriteCond %{HTTP_REFERER} ^$& r+ T$ B: h/ ]) D/ r% O2 G5 w
RewriteRule signature.jpg special.jpg [P,L]- E; _% V7 g$ r! R2 K" T
RewriteCond %{HTTP_USER_AGENT}7 H+ Z/ f$ {' C" A5 q
简单的解读是,如果是火狐浏览器用户,就发送你的推广链接给他们,植入cookie,他们看不到红叉.
' p2 p# g' \+ k* F* o: x( X其余IE用户则看到的是真实的图片,不被植入cookie.1 |( @2 q& Q! l! B7 g" `
这个方法相对来说简便易行.
7 d1 m) A8 F2 v+ U4 Y' R* ?2 y结语2 u( j* R2 G% k2 u) g/ }
关于cookie stuffing的秘密,到此算是讲完了,希望各位有所收获.此外,既然是秘密,如今公开了,就说明是有一定时效性的,故运用时需要自己加以改进.
( K, s# B2 F" _& T, p$ g* \! y/ B最后,谢谢大家阅读,我期待着有更多的积极性去写其它的内容. |
评分
-
查看全部评分
|