|
|
前言7 U, j. u( E! \- q; H
去年我说过要写个关于cookie stuffing(简称CS)的资料.开写了大部分后, 于去年9月份时中断
' S* o" m( \( |/ A; I4 V! g后来断续又写了一点,还没写完., R( f2 ?+ m( W: Z) @
现在决定暂时不用PDF形式发布,而是用贴子分几期在5月份发完.
0 A- D' Y# }: d6 C8 F; {: P- s整个资料内容不涉及实战,以介绍方法为主,里面的代码来自老外,和本人无关,请注意了. # ]8 [6 b" M% s7 c4 W
OK,首先我还是重复下什么是cookie stuffing的概念% c: b: T) k1 w: i7 o" w; k
cookies是通过html中header(头部信息)传递的,除非浏览器的做了一定安全设置,否则是不会忽略这个信息的.' i2 z7 s6 R* c! @8 }+ I
既然cookies通过头部信息传送,那么,一个网页可以不必通过一个header传递,通过图片等方式也可以实现.
8 z, _, f# l9 x7 d* W8 V" s当一个浏览者向服务器发送一个图像请求时,在返回的页面之中,一个header已经被包括了.浏览器获得了header,就不需要管那些文章信息,一个cookies就是这样植入的.
3 p/ y' Z5 }9 C8 c- L Z" Ycookie stuffing的存在是因为广告联盟用cookie来跟踪业绩.用最简单的话就是说,广告联盟给你一个链接,当他人点击了链接并购买了产品,你就获得了佣金.6 a" Q- [( H% _( J8 l
现在你知道了,就是要想办法让人多点击,你就可能得到更多提成.比如把广告图片放在你站上,并尽量使图片和网站融为一体.但可怜的是这样做效果很差,几乎没人点你的广告图片.
# U- e. ]8 G+ b* x所以,怎样强制他人点击链接呢?从而cookie stuffing就这样被发明出来了.它的最终目标就是把affiliate cookies加入浏览者的电脑中,以投机取巧获取利益.# l5 ^- r; u( {& h2 o( @
看起来cookie stuffing是一种容易赚钱的方法.当然,广告联盟不是傻瓜,他们有很多办法能抓到你,这在以后会讲到的.1 v3 b0 q5 `6 N: _2 G) L: T1 _
基本方法; k& {! }- f/ ]0 z) r3 c% Q
1. Image Stuffing
" R' q' s- X8 B3 s, h# Acookie stuffing一般在开头会先讲这个Image Stuffing的,代码很简单,这里是个例子:
N" Y- ^2 m7 n6 h, i<img src=”http://www.advertcn.com/affiliatelink”>
2 D. R/ e( A% E% t/ u& F在大多数浏览器,它表现为一个大的红叉,看上去像是服务器出了毛病一样.
+ U/ a" m: w# d! q' Q在国外大多数论坛有不少会员是专家,如果你在论坛用这个方法,会很容易被他们识破的.
9 _- g; Z5 u% a所以, 在实施一些方法前, 还有很多的东西要学.
+ Q7 \2 ^! i1 a回过来继续说Image Stuffing.为了不让用户发现,你不得不设置图片大小为1个像素,代码如下:) a7 h- ~* y) ?
<img src=”http://www.advertcn.com/affiliatelink” height=1 width=1>( M6 l, v" w% r
但这样还是会显示一个红叉,所以,再给它加上个alt标签,用来替换你想要的文本文字.
! s9 `6 k* L$ q, R; X6 @image tag stuff:! ?1 z5 j2 ~0 H$ ]
<img src=”http://www.advertcn.com/affiliatelink” height=”1″ width=”1″ alt=” “>
7 K |/ ^$ n9 v. M( {然后,当它和其它方法结合在一起后,就成为cookie stuffing牢固的基石了,后面会继续讲到的.( `2 j+ M0 o v) E- I9 e
2. Iframe Stuffing
( R! c- [9 Y3 v" D, FIframe对初学者来说相当容易理解(不知道Iframe为何物的,请自己查资料吧),以下是Iframe Stuffing的代码例子.
, d8 ?- W* L* ^+ b<iframe src=”http://www.advertcn.com/affiliatelink” height=”1″ width=”1″>* A! X9 r: R( u
访问者来到你的网站后,就不知不觉的已打开窗口访问了商家的网站,也就是点击了http://www.advertcn.com/affiliatelink,因为这个Iframe的大小是1个像素,所以访问者毫无知觉.如果他们购买了东西,提成就是你的了.# r, G; r" z) x) l6 O8 u; ?8 z$ n
Iframe Stuffing也很容易让你马上被banned.当然,也有办法隐蔽它,在后面我们会讨论到.
- j3 p# \* e8 a* C4 r$ l5 e3. Javascript Stuffing* v8 Y9 m Y" w9 n
很久以前-从互联网早期,到现在,有个东西叫弹窗的,可以说是最原始的强制植入cookie的方式.确切的说,属于不完全意义上的cookie stuffing.5 T" z+ Y7 A% p# x
效果是一样的,只是很令访问者反感.所以大多数浏览器有了可以锁定弹出式窗口的功能.
4 f( R& f( z! t; {7 T* Q- m现在,我们来到了有点复杂的cookie stuffing的章节-Javascript Stuffing,这个需要一点程序知识,毕竟Javascript是一种脚本语言.因为较难明白,我们就跳过程序知识这部分.; N" A% J) ]0 ]- O5 v
下面举个代码例子,并简单地解释一下它是如何工作的:( I# y* I8 a$ P2 S# `" Y
<script language=”JavaScript”>7 |9 Z# |( s& J1 G6 q9 w. r! Z/ [% V
<!– window.focus();
& j0 G( X6 r' ]setTimeout(“window.focus()”,900);+ x% h) U, L, S+ P- E3 l# _2 Y
//–>' l- K% i# |* X0 ~: D: s @ s' g
</script>
9 T2 N" t: ~0 n" k$ q, X& h# l<script language=”javascript”>
. K% T, }. o" k, I! D1 B<!–& Q/ L8 M( e( h% g" M$ \( C
w=window.open(‘http://www.advertcn.com/affiliatelink’,'affiliate_description’);w.blur();8 Q/ O5 i" k& F, ?5 c$ i/ _
//–># {0 t( x, o/ h/ l
</script>9 X# L9 c3 [2 n& p( @
这个独特的方法是过了设定时间后,打开弹出式窗口(商家的网站,或者是你的推广链接),并移离目前主窗口的视觉中心,放置于主窗口的后面,对访问者来说,就不那么烦人侵扰了.
, [) k* {; g2 F& r由于访问者其实已用你的链接打开了商家的网站,所以他们被植入了cookie.3 V# L: j; Y( E% t: `& R
如果你懂得javascript,懂得弹出式窗口,够精通javascript编程的话,你应该有能力值得花些时间去改进发展Javascript Stuffing.2 ]8 Y2 V; ~7 H' s; {& P+ [% ~
但大多数时候,Javascript Stuffing已进入死胡同,发展余地已不大.
7 u' p! Q# ?9 N4 ~8 B# V; h后记:
9 v& `9 F7 m4 d) w* A0 k数年前,我在CB培训的群里,也给过学员类似的代码,不一样的在于,我给的是隐形弹窗,也就是说肉眼是看不见这个弹窗的. C7 I0 [2 H7 U% e; ?1 x
代码作者原本是出售这个程序的,后来05年取消了,改为到他网站上在线生成代码.现在他的网站已指向了别的地方,所以别问我要这个东西啊.6 \, p. n- B; k# z4 s7 r
4. .htaccess stuffing 通常,即使是会点网站设计的人,也不一定知道.htaccess是什么.# z7 g3 C8 N; `. z
.htaccess在大多数服务器是个隐藏文件,有时被默认是没有的,所以实际上需要我们建立一个.
5 u3 q: T& ]/ `: O.htaccess这个文件告诉服务器当一个特别条件相适应时,应该去干什么.7 x% k+ C" [/ o- ?
好了现在我们至少知道了什么是.htaccess文件,我们就开始复习Image Stuffing代码吧.
/ w: P5 C2 \! q( k+ F! k* b' D/ D比如说你在论坛的签名.
5 ^0 X3 j3 l0 i, r" a<img src=” ”>
7 L! m% B" v: N3 ]1 k9 R6 w& @, c然后我们把以下htaccess文件传到空间里 Z% U# c" j1 T6 {7 J: e
RewriteEngine on
E1 b; v4 W9 i# M; F, IRewriteRule signature.jpg http://www.advertcn.com/affiliatelink/ [L,R=301]
' q! V# G" v$ p这个htaccess是说,访问者在读取你的论坛签名里的图片时,会被转向到你的affiliate链接,这样他们就被植入了cookie. w) d- s6 }1 @6 A# I0 s9 E
那么,你的图片在浏览器里真正看上去是这样的:4 Z6 V7 g( r4 S
<img src=”http://www.advertcn.com/affiliatelink”>
; l; x8 ^3 G; B0 r还记得前面讲到过的Image Stuffing吗?现在访问者看到的链接就是一个真实的图片了.# q7 z- _( ^% L Q5 A
5. Flash Stuffing$ y4 w: K# @7 n3 s, s% {1 H' v3 E+ C
关于Flash Stuffing这一部分,还可以参见一本书,CookieStuffingGuide,广告中国有下载,地址:& Z1 R2 B! `6 [
http://advertcn.com/viewthread.php?tid=72234&extra=page%3D13 {5 T: ] e) F" L' S
相信大家都玩过Flash游戏吧,可以使用键盘或鼠标操纵动画里的部分动作,交互性很强,这便是ActionScript的厉害之处,它与JavaScript结构类似,但是它的编程要容易得多.
8 K: f0 u/ L8 Z& P7 @" F用ActionScript创作出来的动画具有很强的交互性,Flash程序脚本语言就是ActionScript,译作行动脚本.最近版本是3.0.
( |4 F$ o" K* D3 {讲述Flash Stuffing,专业术语较多,我看资料时头也很大.所以,一些复杂的理论我跳过去省略掉.
, o; F3 U, ?; ~Flash几乎无可能对所发送的referer作假,所幸它有个可以利用的漏洞,那就是sendToURL().
2 r5 r1 f6 f0 f1 m/ y1 r8 ]" E* d4 yActionScript3.0里有个叫sendToURL()的功能,这个功能的设计是,发送信息到一个网站,但不用等待响应.
3 p5 T% T h& e3 `6 r- w3 i7 B: q4 F具体来说,sendToURL()发送一个URL到服务器确认,但不理睬任何响应.也就是说,它用访问者的浏览器(你的cookie stuffing”受害者”)提交一个请求到一个网站,但浏览器被假设为不理睬任何响应.
* ?6 _+ o, W5 ]% A但头部信息是不会被拒绝的,cookie能穿越sendToURL()未触及的功能通过去,cookie的植入自然也就无疑问.
/ ~5 x6 |! K9 N如果你会PHP的话,你可以指定哪个浏览器不发送空白的referers,以及阻止来自被发送到sendToURL()的信息.你还可以设定你的PHP文件指令,优化你想要的CTR比率,以保持稳定的收入.
. K: G: I: o3 ]& e此类程序有几种,有的已停止出售.最好是找人写一个针对特定联盟的.当然前提是联盟默许cookie stuffing.6 Q Y9 a5 I7 d D4 C
前面所讲到的每个cookie stuffing方法,不管是哪个,都会被联盟发现从而封掉你的账号.不信的话你可以多试试看,除非你发现了高手成功的方法.
+ h) Q7 Q s* Z6 G) u3 @* z那么,联盟是怎样抓住你使用了cookie stuffing的呢?
0 y1 d# M: g) e2 }3 m7 g# A2 c首先,image stuffing,包括和它相结合的.htaccess stuffing,被证明是无法改变referer的.5 F# p( \9 C8 F2 U1 T0 `) @7 Y
后面我会讲到如何改变iframes和弹出式窗口的referer.
! B: i& z$ b6 r" e; u其次,第二个察觉cookie stuffing的方法是blank referer,这个方法是合法的,但联盟会告诉你不行,或不给你一个明确的答复.
7 n q0 I) v% p% y/ u: X如果你用了blank referer,你认为该怎样解释?这里有2个选择:, |# N& v! L. _
1:你偷偷摸摸地在做某种事情,也就是blackhat
: a( y: m; C3 @/ _2:你隐藏了流量来源.; I E9 h, u1 _+ x( P
那么,你会用哪个选择来回答联盟呢?1,还是2?8 i, q4 |& V! x
我直接说吧,永远也不要说你在做blackhat的事情,只说你的流量来源是个机密.4 @4 R; l6 x8 p$ F. Q
然后你可能会收到电话或电子邮件,问你空白referer的来源,因此你事先要做好准备.
' `+ s% P \9 ]/ n* U第三个方法是他们用转化率来破解你是否用了cookie stuffers.
) l% }) g$ {; Y, m1 T' P; G( m; j什么是转化率?比方说,被你植入cookie的访问者都是潜在的消费者,如果他们没有消费或注册,或很少很少,你的转化率会显示很低.原因是你那些流量都是随机的乱七八糟的,不是目标流量,并没有真的点击了你的链接来到商家网站.
, x* D- A! ~" |; \5 J( Y, D在大多数情况下,联盟不会封掉你的账号,他们仅委婉地告诉你: 你不能再推广那个任务,也许你会发现推广别的任务比较好.
9 u7 c; U6 ^: u第四个方法是联盟用CTR数据来发现你在emu.事实上,图片是不可能有100%的点击率的,这是affiliates界的尺度,所以要注意了.
. w7 Z) y1 B- n2 j. d3 Q最后,最坏的情况是,联盟从你收入的情况来判断你是否emu.- |( p0 b' s9 H3 |$ f
怎么判断的呢?联盟用某个一样的比例来衡量affiliates的收入.' [9 t+ ?$ `7 ^. e6 G+ C
举个例子,假如一万个会员平均月收入是100美元,并有3个人超过了500美元一个月.那么,你会被列入那个人里面,被联盟重点照顾.
7 y: Q: j; H1 A9 m8 Z/ U; n( a$ R联盟不放过每个细节,对你仔细分析哪些是你做对的,哪些是做错的.这就是前面我提到过的,这种时候联盟会来调查电话问你空白流量的来源.1 G; [$ v7 m+ ^% B% L0 p5 J2 L: [
好了,现在我们已知道了联盟是怎样检查我们的,下一步我将讲解如何应对.; R# e& `$ j# s" s8 |7 V
在(四)里,我们大体已知道了联盟是怎样检查我们的,那么,现在该如何去应对它呢?以下内容是比较深的. K) s' f! F. C9 \5 V/ o; h/ r4 L
首先,必须接受这样的事实,在image stuffing里改变referer是不可能的,因此,除非你能承担和把风险降低到最低点,否则不要在网站或论坛搞image stuff.
- g- j4 P4 p# r5 J6 Y% @( E第二,学会如何适当地使用刷新代码.把iframe和刷新2者结合,referer信息将是空白的.
G+ J( J H( B1 i ~现在不是所有的浏览器都支持上面所说的第二点,因此我们得把它过滤掉.我们做成2个PHP跳转页面,先是第一个刷新页面到达第二个页面,第二个页面自动检查referer信息是否是空白.如果是,那么这个浏览器可以使用.然后我们就可以第二次刷新来到affiliate推广页面.) R1 k5 o' z1 t. b) d/ Z& J1 c/ @
联盟将看到你的来了来源都是空白的.$ I$ H, o+ M: Y$ e4 c2 ]9 c
关于这个2次刷新脚本,不懂的话读者可以自己找人写个.; n1 X' Z2 X4 |" T# w7 |3 V: u) Q
嗯,有的联盟已规定流量来源不可以是空白的,自然就不能用以上方法.
~: X' k' J% a1 G第三
( B1 p: y I+ O4 I这个方法已用得很广泛了.如果访问者是通过搜索引擎来到你的网站,那么无疑,这时stuffing是相当安全的,联盟对此情况必定无话可说的.* e F" U" T% C; L
那么我们可以这么做,让搜索引擎收录,比如雅虎的目录;让分类信息站收录,比如craigslist;再比如加入到ebay. 这些都是可以做到的几种不同的方法., E2 a" N' e9 K# Q' _
我们可以用一个htaccess文件转到指定的affiliate链接的来源." |! T8 w$ }, W/ {
或者我们可以写一个来源到数据库里,然后让被称为index.php的页面执行.我们可以告诉我们的PHP文件,对写好的某段代码做出决定,即使是来自某个站点的来源也可以改变.
7 R D6 h% t, i* w% l/ z) ]if(substr((trim($_SERVER['HTTP_REFERER'])),0,23)==”http://www.google.com/”) `; i9 H6 A, ~ C7 [8 k
{
7 p& V2 z# J! G7 t! y9 Mecho “<img src=\”http://www.advertcn.com/affiliatelink” height=\”1\” width=\”1\” alt=\”\”>”;
: A5 l; L6 J2 ~2 S% z; h' u}4 C+ R3 G) {- R4 k7 X0 N
现在我们要抛弃掉image stuff,使用加上刷新代码的iframe,或flash文件,用于植入特定的来源对象,没有任何限制.
: A( i0 m* M9 P1 P! i这个程序能很好的平衡CTR和对流量来源的检验,还能避免你的AM被植入cookies.! S. Z' s7 y, n: E# K8 O+ w1 o
不过,需要懂些PHP程序方面的知识才行.如果没这个能力,可以考虑去威客平台找外包,在国外有Freelance programmers接这种活.国内的我觉得就别找了吧.' r% O8 J' s# t! ]2 Y
第四" O% v: T J( W6 r. E
这是另一个不会引起别人警觉的在论坛植入cookies的方法,可以设置一个比例,让访问者随机被植入cookies. 比如说设置5%,那么,100个访问者里有5人会被植入cookies. 这个方法工作原理是怎么样的呢? 它有个名称叫动态.htaccess.它包含了2个图片文件和1个.htaccess文件.+ y% j1 p: U0 x$ b; f) V
当显示图片时,会适时地运行一PHP程序.3 ~. h8 r9 H G- L) M
现在我讲解一下这2个图片.
3 R1 F6 ~( h& j" V, _6 k第一个图片其实是假的,每次被访问会编辑.htaccess文件.我们设置一定的比例多少次图片1被图片2″覆盖”,比如5%.
2 m- R$ i/ B( y% c& Y- S. z下面的代码是5%的时间里时htaccess的写法:( N- Y6 _1 E9 c) `' _
RewriteEngine on
Q' k9 q2 f8 b1 vRewriteRule signature.jpg signature.php [L,R=301]- P( ~! x" N' V& b8 S! @; Y) }9 T
RewriteRule affiliatetracking_pixel.gif http://www.advertcn.com/affiliatelink [L,R=301]1 Q' h! K) c. R4 X5 w3 E( D; @
下面的代码是95%的时间里时,htaccess的写法:
" D$ x; D* q2 _& }$ z0 k4 aRewriteEngine on6 l( Z! r1 C$ { s
RewriteRule signature.jpg signature.php [L,R=301]
& A6 S7 v/ j" O# @# `! p- s# d cRewriteRule affiliatetracking_pixel.gif tp.gif [L,R=301]
6 n, `0 n& |& R% f3 k9 U就是说,95%的时候,在论坛看到的是正常的签名,5%的时候看到的是×.万一如果有人怀疑这个×,那么,他刷新一下帖子的页面后,看到的又是一个真实的图片.
; v; \( ?" k, f) o" Y w- \$ u# d7 {这是因为刷新后htaccess又被重写了.3 L& A, ?( `+ s( l* S& u
使用这个方法事先要注意是否容许在论坛推广,以及签名除了图片还可以使用文本.0 ]7 O2 s9 g& q$ B+ N
第五6 F3 i$ b2 c8 H
前面我们已知道,那个红叉是个麻烦问题.
) \0 |+ P& j% s y但如果我们是在一般非技术论坛搞cookie植入的话,仅针对火狐浏览器用户植入就可,因为火狐浏览器不会显示红叉,这点它跟IE6/7不一样的.$ Y, W0 C( ^' Q- v' W
这个方法的代码如下,由上往下读:
% \2 _6 y4 y; qOptions +FollowSymlinks
1 f9 n/ y7 o6 I* ]RewriteEngine on! m" h5 C7 ~3 g7 M7 p
RewriteCond %{HTTP_REFERER} !^$
2 Q8 n7 d0 \: NRewriteRule signature.jpg special.jpg [P,L] ^Mozilla/5.0.*$ [NC]
5 d4 ^9 q# R2 ?% fRewriteRule signature.jpg http://www.advertcn.com/affiliatelink[R,L]
; D% c5 @* j* V9 qRewriteCond %{HTTP_REFERER} ^$
# d6 B8 C1 [- S. M& B: u9 _# VRewriteRule signature.jpg special.jpg [P,L]4 z) s+ @2 D( |$ U5 `! `- e6 p
RewriteCond %{HTTP_USER_AGENT}+ e; P$ S N/ _8 f, [
简单的解读是,如果是火狐浏览器用户,就发送你的推广链接给他们,植入cookie,他们看不到红叉.7 Z) j A( J- e% a% e" i. H4 i
其余IE用户则看到的是真实的图片,不被植入cookie." |! o2 r( n" [" t4 |# |. _9 m5 ]7 M
这个方法相对来说简便易行.
. u, W7 x* p& m- W$ {8 a. t% z" A1 Z结语
9 ^& s# K) o4 F& z, u4 c关于cookie stuffing的秘密,到此算是讲完了,希望各位有所收获.此外,既然是秘密,如今公开了,就说明是有一定时效性的,故运用时需要自己加以改进.+ `" E" C. b7 V1 b: f3 m
最后,谢谢大家阅读,我期待着有更多的积极性去写其它的内容. |
评分
-
查看全部评分
|