|
|
前言9 D* ~2 @/ q: A( B
去年我说过要写个关于cookie stuffing(简称CS)的资料.开写了大部分后, 于去年9月份时中断
& }5 | I. x! t后来断续又写了一点,还没写完. M6 |: X6 {; H. J: i
现在决定暂时不用PDF形式发布,而是用贴子分几期在5月份发完.
\4 y; I M+ u9 {& J4 C整个资料内容不涉及实战,以介绍方法为主,里面的代码来自老外,和本人无关,请注意了.
; ~: X' E' f9 UOK,首先我还是重复下什么是cookie stuffing的概念3 c9 w4 N/ Q& W) K+ W; N4 S
cookies是通过html中header(头部信息)传递的,除非浏览器的做了一定安全设置,否则是不会忽略这个信息的.
; Y. w( ~. p7 L3 m2 b0 E既然cookies通过头部信息传送,那么,一个网页可以不必通过一个header传递,通过图片等方式也可以实现.1 T2 h) \3 S* p% F
当一个浏览者向服务器发送一个图像请求时,在返回的页面之中,一个header已经被包括了.浏览器获得了header,就不需要管那些文章信息,一个cookies就是这样植入的.
9 X# o8 o. ^: Q+ V' dcookie stuffing的存在是因为广告联盟用cookie来跟踪业绩.用最简单的话就是说,广告联盟给你一个链接,当他人点击了链接并购买了产品,你就获得了佣金.
# B$ H/ ]" d* E `2 f! p7 B现在你知道了,就是要想办法让人多点击,你就可能得到更多提成.比如把广告图片放在你站上,并尽量使图片和网站融为一体.但可怜的是这样做效果很差,几乎没人点你的广告图片.# t9 C: s! h9 b3 ]- w8 s$ Q
所以,怎样强制他人点击链接呢?从而cookie stuffing就这样被发明出来了.它的最终目标就是把affiliate cookies加入浏览者的电脑中,以投机取巧获取利益.
- r# `4 l r2 [* p! b看起来cookie stuffing是一种容易赚钱的方法.当然,广告联盟不是傻瓜,他们有很多办法能抓到你,这在以后会讲到的.
+ i2 v( @% E: h7 K9 X8 o5 T3 m基本方法1 F3 K9 J" |2 j1 c$ M, j& S+ M
1. Image Stuffing
; A: e) d$ j" b8 B4 acookie stuffing一般在开头会先讲这个Image Stuffing的,代码很简单,这里是个例子:, @9 O- N0 y- `4 y
<img src=”http://www.advertcn.com/affiliatelink”>
; P% d+ J# i' x1 U r7 ?% ^在大多数浏览器,它表现为一个大的红叉,看上去像是服务器出了毛病一样.
( ], l) n- [, a' B在国外大多数论坛有不少会员是专家,如果你在论坛用这个方法,会很容易被他们识破的.
0 B/ v5 l, X& @. ^' {所以, 在实施一些方法前, 还有很多的东西要学.
' \7 L# K3 E {$ K, s+ H# F回过来继续说Image Stuffing.为了不让用户发现,你不得不设置图片大小为1个像素,代码如下:* k1 s9 f& @, J( |7 E
<img src=”http://www.advertcn.com/affiliatelink” height=1 width=1>" p$ o0 j: w7 e% h4 M
但这样还是会显示一个红叉,所以,再给它加上个alt标签,用来替换你想要的文本文字. ]/ f% T0 n R* N! @, t0 d) v4 H* F
image tag stuff:0 z( L3 K4 C# {0 k6 I7 v
<img src=”http://www.advertcn.com/affiliatelink” height=”1″ width=”1″ alt=” “>! A2 E. `9 _$ H! B; A0 { T3 ~
然后,当它和其它方法结合在一起后,就成为cookie stuffing牢固的基石了,后面会继续讲到的.6 x" y: p7 G4 r, N6 ^. @1 t/ U1 H
2. Iframe Stuffing
' M* a7 @1 [+ ]. e* y1 jIframe对初学者来说相当容易理解(不知道Iframe为何物的,请自己查资料吧),以下是Iframe Stuffing的代码例子.# W/ Y6 \7 D: w+ ?+ Y
<iframe src=”http://www.advertcn.com/affiliatelink” height=”1″ width=”1″>4 y* w2 C2 |0 c7 F0 z
访问者来到你的网站后,就不知不觉的已打开窗口访问了商家的网站,也就是点击了http://www.advertcn.com/affiliatelink,因为这个Iframe的大小是1个像素,所以访问者毫无知觉.如果他们购买了东西,提成就是你的了.4 u" X Z# x, m: H2 m
Iframe Stuffing也很容易让你马上被banned.当然,也有办法隐蔽它,在后面我们会讨论到.# p: _3 _9 X {/ h0 q( j2 H8 f* G1 l- B
3. Javascript Stuffing2 z8 K7 a- l& k
很久以前-从互联网早期,到现在,有个东西叫弹窗的,可以说是最原始的强制植入cookie的方式.确切的说,属于不完全意义上的cookie stuffing.& V# S# f5 ?1 p+ Q$ h4 W
效果是一样的,只是很令访问者反感.所以大多数浏览器有了可以锁定弹出式窗口的功能.3 j) C) |& n2 T6 f7 }) j
现在,我们来到了有点复杂的cookie stuffing的章节-Javascript Stuffing,这个需要一点程序知识,毕竟Javascript是一种脚本语言.因为较难明白,我们就跳过程序知识这部分.! }6 E. N2 v: f7 [
下面举个代码例子,并简单地解释一下它是如何工作的:6 U" W, U% y, d" r4 ^' U7 c: Y
<script language=”JavaScript”>
' t, `/ f. e, e, O, I) n<!– window.focus();
" U1 q9 g, W: ?2 d: e9 o6 }setTimeout(“window.focus()”,900);7 w6 a: p0 Q1 \; I6 A( E
//–>- ~& a5 g: G6 L6 r, N3 w& P
</script>) o* ^! j% J/ d# y* ]7 B, `
<script language=”javascript”>
2 p; l+ M, d7 z+ q* O# O<!–, Q; b" f) l8 u
w=window.open(‘http://www.advertcn.com/affiliatelink’,'affiliate_description’);w.blur();
3 x' q _1 P3 G/ w4 ]6 N3 X6 `//–>
& H& i2 d1 B( @- }: M( a9 |</script>+ V0 p6 w* w; p
这个独特的方法是过了设定时间后,打开弹出式窗口(商家的网站,或者是你的推广链接),并移离目前主窗口的视觉中心,放置于主窗口的后面,对访问者来说,就不那么烦人侵扰了.3 x) u' c( D( S& A! x; s4 `
由于访问者其实已用你的链接打开了商家的网站,所以他们被植入了cookie.& R' q0 u% B$ a: V# z
如果你懂得javascript,懂得弹出式窗口,够精通javascript编程的话,你应该有能力值得花些时间去改进发展Javascript Stuffing.! O# ^; R: d8 B
但大多数时候,Javascript Stuffing已进入死胡同,发展余地已不大.5 R8 q) M2 q5 z. O- K. p
后记:
5 a2 p6 d, p+ u P数年前,我在CB培训的群里,也给过学员类似的代码,不一样的在于,我给的是隐形弹窗,也就是说肉眼是看不见这个弹窗的.# x$ b+ h1 u2 F
代码作者原本是出售这个程序的,后来05年取消了,改为到他网站上在线生成代码.现在他的网站已指向了别的地方,所以别问我要这个东西啊.! s' ^1 N! M! O: p3 g) |
4. .htaccess stuffing 通常,即使是会点网站设计的人,也不一定知道.htaccess是什么.% b3 e% H+ ^% O, i6 y* z4 B
.htaccess在大多数服务器是个隐藏文件,有时被默认是没有的,所以实际上需要我们建立一个./ x& |5 G+ H5 O1 I7 o+ t, V9 A
.htaccess这个文件告诉服务器当一个特别条件相适应时,应该去干什么.
! ]" o7 ~* b1 B9 K- \8 V* g! i2 r好了现在我们至少知道了什么是.htaccess文件,我们就开始复习Image Stuffing代码吧.
+ v( _* O" j$ F+ r+ z比如说你在论坛的签名./ _+ I) m# A/ A
<img src=” ”>
9 I% o* i3 h M: y% O然后我们把以下htaccess文件传到空间里
" K: C# b z, P6 [" U- `RewriteEngine on$ n# D ~" ?* F3 c
RewriteRule signature.jpg http://www.advertcn.com/affiliatelink/ [L,R=301]
5 L4 \2 B- s+ B这个htaccess是说,访问者在读取你的论坛签名里的图片时,会被转向到你的affiliate链接,这样他们就被植入了cookie.! O3 ` G/ b; d) P6 V
那么,你的图片在浏览器里真正看上去是这样的:
* N, a$ e1 K7 f; P# S<img src=”http://www.advertcn.com/affiliatelink”>" N- G c. R; i8 q5 y8 G- R
还记得前面讲到过的Image Stuffing吗?现在访问者看到的链接就是一个真实的图片了.
/ s1 g* J$ `1 ]8 F$ w5. Flash Stuffing- y) I0 o& c3 [( a) V1 Z6 h+ N( G
关于Flash Stuffing这一部分,还可以参见一本书,CookieStuffingGuide,广告中国有下载,地址:
1 E; _, }4 \' c J) Zhttp://advertcn.com/viewthread.php?tid=72234&extra=page%3D1
( b7 r/ t; f$ P2 y8 l/ z# n5 J6 m相信大家都玩过Flash游戏吧,可以使用键盘或鼠标操纵动画里的部分动作,交互性很强,这便是ActionScript的厉害之处,它与JavaScript结构类似,但是它的编程要容易得多.
! p$ h* A s/ f" P4 ] x用ActionScript创作出来的动画具有很强的交互性,Flash程序脚本语言就是ActionScript,译作行动脚本.最近版本是3.0.
( [& s6 ~: W$ x ]& N% T6 ?/ c讲述Flash Stuffing,专业术语较多,我看资料时头也很大.所以,一些复杂的理论我跳过去省略掉." @# G X, E% ?6 K
Flash几乎无可能对所发送的referer作假,所幸它有个可以利用的漏洞,那就是sendToURL().
1 f5 w! A% ?+ d; v9 nActionScript3.0里有个叫sendToURL()的功能,这个功能的设计是,发送信息到一个网站,但不用等待响应.6 `$ p4 Q7 N! c
具体来说,sendToURL()发送一个URL到服务器确认,但不理睬任何响应.也就是说,它用访问者的浏览器(你的cookie stuffing”受害者”)提交一个请求到一个网站,但浏览器被假设为不理睬任何响应. h* E* Q; b" m; h& @5 S$ n. n
但头部信息是不会被拒绝的,cookie能穿越sendToURL()未触及的功能通过去,cookie的植入自然也就无疑问.6 F! C5 h# Z2 T$ F1 O3 B2 e
如果你会PHP的话,你可以指定哪个浏览器不发送空白的referers,以及阻止来自被发送到sendToURL()的信息.你还可以设定你的PHP文件指令,优化你想要的CTR比率,以保持稳定的收入.
7 ?; M& ]% z) c- f+ L# S此类程序有几种,有的已停止出售.最好是找人写一个针对特定联盟的.当然前提是联盟默许cookie stuffing.8 L7 \, {2 Y- w0 H, s
前面所讲到的每个cookie stuffing方法,不管是哪个,都会被联盟发现从而封掉你的账号.不信的话你可以多试试看,除非你发现了高手成功的方法.
& c- E7 x1 g0 ?7 N" ?那么,联盟是怎样抓住你使用了cookie stuffing的呢?* a" u; j2 Q$ A# c
首先,image stuffing,包括和它相结合的.htaccess stuffing,被证明是无法改变referer的.2 X$ i4 S' w8 W2 |( u
后面我会讲到如何改变iframes和弹出式窗口的referer., Z7 e" u" {, \" k8 p
其次,第二个察觉cookie stuffing的方法是blank referer,这个方法是合法的,但联盟会告诉你不行,或不给你一个明确的答复.
9 m S% x" |6 d- ]8 p9 n; t如果你用了blank referer,你认为该怎样解释?这里有2个选择:
3 A! I3 K7 s# k2 n8 J1:你偷偷摸摸地在做某种事情,也就是blackhat
3 Y/ B0 I' R5 c! @. h* @& o! u2:你隐藏了流量来源.6 ^ X& \- k) c* Z+ G Y+ J* d" W
那么,你会用哪个选择来回答联盟呢?1,还是2?
; h r$ v' }5 t4 V) S我直接说吧,永远也不要说你在做blackhat的事情,只说你的流量来源是个机密.
& b% D6 z7 a) m然后你可能会收到电话或电子邮件,问你空白referer的来源,因此你事先要做好准备.: e& O! S& S: D; G% z8 _
第三个方法是他们用转化率来破解你是否用了cookie stuffers.) W- w2 N Y8 t- R# U
什么是转化率?比方说,被你植入cookie的访问者都是潜在的消费者,如果他们没有消费或注册,或很少很少,你的转化率会显示很低.原因是你那些流量都是随机的乱七八糟的,不是目标流量,并没有真的点击了你的链接来到商家网站.2 T1 N5 l; B- s' C9 {1 |
在大多数情况下,联盟不会封掉你的账号,他们仅委婉地告诉你: 你不能再推广那个任务,也许你会发现推广别的任务比较好.8 S7 O G( w& u2 J& H
第四个方法是联盟用CTR数据来发现你在emu.事实上,图片是不可能有100%的点击率的,这是affiliates界的尺度,所以要注意了./ [/ ~% t9 t5 L
最后,最坏的情况是,联盟从你收入的情况来判断你是否emu.& ]% s; Q. O) s4 m" F F7 G$ J( z
怎么判断的呢?联盟用某个一样的比例来衡量affiliates的收入.
9 T9 S0 V: ~+ ^" u举个例子,假如一万个会员平均月收入是100美元,并有3个人超过了500美元一个月.那么,你会被列入那个人里面,被联盟重点照顾. v9 x8 f, e: O* F7 q. S
联盟不放过每个细节,对你仔细分析哪些是你做对的,哪些是做错的.这就是前面我提到过的,这种时候联盟会来调查电话问你空白流量的来源.& ^. ?$ k7 Z8 R- ]" r
好了,现在我们已知道了联盟是怎样检查我们的,下一步我将讲解如何应对.
% c# `0 X/ o v在(四)里,我们大体已知道了联盟是怎样检查我们的,那么,现在该如何去应对它呢?以下内容是比较深的.
2 Y( d% V; E# N1 }+ P; F5 m' w4 c首先,必须接受这样的事实,在image stuffing里改变referer是不可能的,因此,除非你能承担和把风险降低到最低点,否则不要在网站或论坛搞image stuff.
: o0 \; n. P* x3 ]" k. B第二,学会如何适当地使用刷新代码.把iframe和刷新2者结合,referer信息将是空白的.
0 N" X; p O+ l5 \2 P4 X现在不是所有的浏览器都支持上面所说的第二点,因此我们得把它过滤掉.我们做成2个PHP跳转页面,先是第一个刷新页面到达第二个页面,第二个页面自动检查referer信息是否是空白.如果是,那么这个浏览器可以使用.然后我们就可以第二次刷新来到affiliate推广页面.6 F$ h: k9 B& q4 W' ^
联盟将看到你的来了来源都是空白的.
5 ^5 M7 S/ I) r9 \关于这个2次刷新脚本,不懂的话读者可以自己找人写个.
+ B4 ?4 C+ U1 ?嗯,有的联盟已规定流量来源不可以是空白的,自然就不能用以上方法.
3 X' B6 D- A3 d# o0 F, d- Z第三6 _* R+ B" f5 i: ]+ P. \; D
这个方法已用得很广泛了.如果访问者是通过搜索引擎来到你的网站,那么无疑,这时stuffing是相当安全的,联盟对此情况必定无话可说的.; _+ A* K0 z( y$ B
那么我们可以这么做,让搜索引擎收录,比如雅虎的目录;让分类信息站收录,比如craigslist;再比如加入到ebay. 这些都是可以做到的几种不同的方法.( V% J* u, U' s) Y2 O
我们可以用一个htaccess文件转到指定的affiliate链接的来源.
8 o6 y& K2 _/ s. w @或者我们可以写一个来源到数据库里,然后让被称为index.php的页面执行.我们可以告诉我们的PHP文件,对写好的某段代码做出决定,即使是来自某个站点的来源也可以改变.
) ]* t1 h& w1 ^if(substr((trim($_SERVER['HTTP_REFERER'])),0,23)==”http://www.google.com/”)7 B: m9 F: a/ V7 k3 J
{6 o. d& G1 g" Q2 k, m
echo “<img src=\”http://www.advertcn.com/affiliatelink” height=\”1\” width=\”1\” alt=\”\”>”;) \* G* w: v; d5 }% k" {
}
# i. r% b5 ^& {+ k/ T7 G$ Y现在我们要抛弃掉image stuff,使用加上刷新代码的iframe,或flash文件,用于植入特定的来源对象,没有任何限制.2 s+ I4 P0 S T3 F
这个程序能很好的平衡CTR和对流量来源的检验,还能避免你的AM被植入cookies.
( d3 y; h" X* O. h+ M4 n5 z. r* C不过,需要懂些PHP程序方面的知识才行.如果没这个能力,可以考虑去威客平台找外包,在国外有Freelance programmers接这种活.国内的我觉得就别找了吧.
& q D1 x9 _% A第四
, Z) p! q6 J8 K$ h- T/ a; n这是另一个不会引起别人警觉的在论坛植入cookies的方法,可以设置一个比例,让访问者随机被植入cookies. 比如说设置5%,那么,100个访问者里有5人会被植入cookies. 这个方法工作原理是怎么样的呢? 它有个名称叫动态.htaccess.它包含了2个图片文件和1个.htaccess文件.
7 x/ [6 P3 i' @% F" D0 V; S1 w当显示图片时,会适时地运行一PHP程序.! ^. W/ l: n7 Y- c* t/ f5 i
现在我讲解一下这2个图片.- O+ I# Y7 }. ]- V
第一个图片其实是假的,每次被访问会编辑.htaccess文件.我们设置一定的比例多少次图片1被图片2″覆盖”,比如5%.
4 K3 n1 M5 Y4 k% ]2 e) C. u9 b下面的代码是5%的时间里时htaccess的写法:$ b3 b, U3 y: d+ y
RewriteEngine on' K/ B+ _, H2 Q' f2 x( s
RewriteRule signature.jpg signature.php [L,R=301]
2 J# N1 f% A6 q* \RewriteRule affiliatetracking_pixel.gif http://www.advertcn.com/affiliatelink [L,R=301]
( `8 ?# [% O% q5 S下面的代码是95%的时间里时,htaccess的写法:/ o% L7 O1 W# {
RewriteEngine on
: K) u+ C7 b. Y) NRewriteRule signature.jpg signature.php [L,R=301]
% Q$ G: L: c2 p7 d/ ERewriteRule affiliatetracking_pixel.gif tp.gif [L,R=301]) w& p% [. ]: i
就是说,95%的时候,在论坛看到的是正常的签名,5%的时候看到的是×.万一如果有人怀疑这个×,那么,他刷新一下帖子的页面后,看到的又是一个真实的图片.6 u8 w& L+ |% A' U; P
这是因为刷新后htaccess又被重写了.
& y: g r9 O, H$ J) n$ L V使用这个方法事先要注意是否容许在论坛推广,以及签名除了图片还可以使用文本.
4 G4 I1 F% G- b* A! Q5 m第五
: H# L) Y' m! M$ b前面我们已知道,那个红叉是个麻烦问题.
7 h# @, t# Z7 |, K( g" ~6 e& U但如果我们是在一般非技术论坛搞cookie植入的话,仅针对火狐浏览器用户植入就可,因为火狐浏览器不会显示红叉,这点它跟IE6/7不一样的.
3 u# t" `, N1 N4 V( j( _这个方法的代码如下,由上往下读:* z3 C; W7 \! g
Options +FollowSymlinks; ]& i* G* g3 x3 y: y" I
RewriteEngine on
$ R4 x% D& I+ ^2 } wRewriteCond %{HTTP_REFERER} !^$
8 f" x2 y, s* H6 b/ P+ D, GRewriteRule signature.jpg special.jpg [P,L] ^Mozilla/5.0.*$ [NC]
1 \7 m% h( _- JRewriteRule signature.jpg http://www.advertcn.com/affiliatelink[R,L]1 b6 N( {) ?/ g2 r L
RewriteCond %{HTTP_REFERER} ^$
& N# \5 |. \( QRewriteRule signature.jpg special.jpg [P,L]/ `, N, _# `; P; A2 T. V
RewriteCond %{HTTP_USER_AGENT}
* {6 p) I7 L# `& B9 r简单的解读是,如果是火狐浏览器用户,就发送你的推广链接给他们,植入cookie,他们看不到红叉.
( H4 t. l+ V9 E4 `5 Q其余IE用户则看到的是真实的图片,不被植入cookie.& n0 P# t" n: x, i0 D1 P
这个方法相对来说简便易行.
1 m& \+ w7 t: {, k N% C0 x结语* s$ a# `5 M0 C5 N, m
关于cookie stuffing的秘密,到此算是讲完了,希望各位有所收获.此外,既然是秘密,如今公开了,就说明是有一定时效性的,故运用时需要自己加以改进.
( U; N/ ~* ~ N% g: n. a" c4 Y最后,谢谢大家阅读,我期待着有更多的积极性去写其它的内容. |
评分
-
查看全部评分
|