|
前言+ s& A! h3 M8 I2 Z
去年我说过要写个关于cookie stuffing(简称CS)的资料.开写了大部分后, 于去年9月份时中断1 q1 p- `) G$ ~. f
后来断续又写了一点,还没写完.% i: g* l, [8 W' s
现在决定暂时不用PDF形式发布,而是用贴子分几期在5月份发完.
! b1 k. [2 Q( `0 u$ x: O: g, @整个资料内容不涉及实战,以介绍方法为主,里面的代码来自老外,和本人无关,请注意了. ( Y' A% v8 t2 g; C& X4 q2 ~5 S
OK,首先我还是重复下什么是cookie stuffing的概念
- J* x4 R, {8 X. K) I/ {( }cookies是通过html中header(头部信息)传递的,除非浏览器的做了一定安全设置,否则是不会忽略这个信息的.
' i# {7 |. E9 e5 I8 k' {既然cookies通过头部信息传送,那么,一个网页可以不必通过一个header传递,通过图片等方式也可以实现.
% k* D* _7 j- w, O% l( @( z( f* \; P当一个浏览者向服务器发送一个图像请求时,在返回的页面之中,一个header已经被包括了.浏览器获得了header,就不需要管那些文章信息,一个cookies就是这样植入的.
3 x0 u, E) I& S8 c, x5 Bcookie stuffing的存在是因为广告联盟用cookie来跟踪业绩.用最简单的话就是说,广告联盟给你一个链接,当他人点击了链接并购买了产品,你就获得了佣金.8 _; a, Z% i8 g- r+ D4 |
现在你知道了,就是要想办法让人多点击,你就可能得到更多提成.比如把广告图片放在你站上,并尽量使图片和网站融为一体.但可怜的是这样做效果很差,几乎没人点你的广告图片.4 a' Z7 V& W& Z3 M) M
所以,怎样强制他人点击链接呢?从而cookie stuffing就这样被发明出来了.它的最终目标就是把affiliate cookies加入浏览者的电脑中,以投机取巧获取利益.
8 [) C7 j# ~: d" }% d看起来cookie stuffing是一种容易赚钱的方法.当然,广告联盟不是傻瓜,他们有很多办法能抓到你,这在以后会讲到的.
: Y1 L. y! ?2 S# B/ ~基本方法! |1 C: c. R- ~! M, t1 J1 a" D
1. Image Stuffing! ^( X$ f9 {( n
cookie stuffing一般在开头会先讲这个Image Stuffing的,代码很简单,这里是个例子:+ ~; ]1 s( Q+ y7 N4 e' b" Q* i4 @
<img src=”http://www.advertcn.com/affiliatelink”>
7 C' T( A7 D" y2 K5 p: C( [在大多数浏览器,它表现为一个大的红叉,看上去像是服务器出了毛病一样.: Y# Z3 }% B- c* u3 I: B; l4 X+ r _* j
在国外大多数论坛有不少会员是专家,如果你在论坛用这个方法,会很容易被他们识破的.7 T5 n, i; h0 }, V& r
所以, 在实施一些方法前, 还有很多的东西要学.
# l/ W% ?1 I- K1 r. f# B. x" }3 ~& c" x5 Q回过来继续说Image Stuffing.为了不让用户发现,你不得不设置图片大小为1个像素,代码如下:
1 c* f8 r$ T% X3 y<img src=”http://www.advertcn.com/affiliatelink” height=1 width=1>* x, I% U0 v4 t( V% @
但这样还是会显示一个红叉,所以,再给它加上个alt标签,用来替换你想要的文本文字.
) D: {6 v1 u8 }, T/ pimage tag stuff:* o( H5 E3 i# w+ o7 t- q j
<img src=”http://www.advertcn.com/affiliatelink” height=”1″ width=”1″ alt=” “>
$ J/ p% @; |# o% S; a然后,当它和其它方法结合在一起后,就成为cookie stuffing牢固的基石了,后面会继续讲到的.' A6 R' z, m. |/ Z `
2. Iframe Stuffing
3 u; K, P: O: e- lIframe对初学者来说相当容易理解(不知道Iframe为何物的,请自己查资料吧),以下是Iframe Stuffing的代码例子.
. O1 a N# f- Q<iframe src=”http://www.advertcn.com/affiliatelink” height=”1″ width=”1″>/ S1 M' B8 o% c
访问者来到你的网站后,就不知不觉的已打开窗口访问了商家的网站,也就是点击了http://www.advertcn.com/affiliatelink,因为这个Iframe的大小是1个像素,所以访问者毫无知觉.如果他们购买了东西,提成就是你的了.: N* Z% E1 O7 p) B g. c
Iframe Stuffing也很容易让你马上被banned.当然,也有办法隐蔽它,在后面我们会讨论到.3 e) u' ^: ?* C, x2 \9 d3 x
3. Javascript Stuffing
( a3 ]7 W" ]$ m/ b, w很久以前-从互联网早期,到现在,有个东西叫弹窗的,可以说是最原始的强制植入cookie的方式.确切的说,属于不完全意义上的cookie stuffing.
+ `2 L- J' k$ c" f# t8 e效果是一样的,只是很令访问者反感.所以大多数浏览器有了可以锁定弹出式窗口的功能.
1 i( }7 z; M) v$ U3 Z9 l5 _& e现在,我们来到了有点复杂的cookie stuffing的章节-Javascript Stuffing,这个需要一点程序知识,毕竟Javascript是一种脚本语言.因为较难明白,我们就跳过程序知识这部分.8 P) z" K5 @- s: v
下面举个代码例子,并简单地解释一下它是如何工作的:* j4 B/ O9 [$ i/ M
<script language=”JavaScript”>
' ^9 U7 l% a9 X0 W<!– window.focus();$ y- J" X+ i2 \7 L- n: u( h( f
setTimeout(“window.focus()”,900);& n) v# H, j9 A. t
//–>
W- {) B4 G9 \) ]$ \9 |</script>
8 }$ Y1 M+ [. | S, z# Y<script language=”javascript”>3 g/ u& Y- J- ~
<!–
( n+ F; M$ J- _0 g+ ~w=window.open(‘http://www.advertcn.com/affiliatelink’,'affiliate_description’);w.blur();
9 Q; h1 E2 y/ z2 _. g2 R//–>
; ?/ A2 u6 Y6 B0 d</script>7 m' ] {* D/ D- Z# X3 t
这个独特的方法是过了设定时间后,打开弹出式窗口(商家的网站,或者是你的推广链接),并移离目前主窗口的视觉中心,放置于主窗口的后面,对访问者来说,就不那么烦人侵扰了.
J1 [3 o* a7 k Q7 Z; f" t由于访问者其实已用你的链接打开了商家的网站,所以他们被植入了cookie.3 i4 {0 ~* h& i9 A0 j& f O
如果你懂得javascript,懂得弹出式窗口,够精通javascript编程的话,你应该有能力值得花些时间去改进发展Javascript Stuffing.
, m$ [4 t* D& B. ~7 c但大多数时候,Javascript Stuffing已进入死胡同,发展余地已不大.5 V; F8 y& `* \. j5 ?; Z/ G
后记:
9 @1 `0 i& G$ P: W) G H v数年前,我在CB培训的群里,也给过学员类似的代码,不一样的在于,我给的是隐形弹窗,也就是说肉眼是看不见这个弹窗的.9 \$ H5 e7 {. i8 x$ F) c' e
代码作者原本是出售这个程序的,后来05年取消了,改为到他网站上在线生成代码.现在他的网站已指向了别的地方,所以别问我要这个东西啊.
, ~6 \0 _$ F x4 I0 P- J3 |! Q3 I8 k4. .htaccess stuffing 通常,即使是会点网站设计的人,也不一定知道.htaccess是什么.# Q3 | s+ B3 G- ] s/ \
.htaccess在大多数服务器是个隐藏文件,有时被默认是没有的,所以实际上需要我们建立一个.8 h, I5 M& }6 U, j6 ]
.htaccess这个文件告诉服务器当一个特别条件相适应时,应该去干什么.
$ Q9 }( F$ A% i' ^7 S好了现在我们至少知道了什么是.htaccess文件,我们就开始复习Image Stuffing代码吧.# U0 P& P$ r) d2 Z1 ^
比如说你在论坛的签名.
8 p$ B8 ^; s B& \1 S6 i$ h+ k6 r<img src=””>
9 y* d% f: j5 e9 i然后我们把以下htaccess文件传到空间里
* w L( N8 {1 YRewriteEngine on3 S2 ~' D1 t/ J) B2 \3 Y
RewriteRule signature.jpg http://www.advertcn.com/affiliatelink/ [L,R=301], ?1 ~$ Z% W! E4 c
这个htaccess是说,访问者在读取你的论坛签名里的图片时,会被转向到你的affiliate链接,这样他们就被植入了cookie.0 v$ K6 `3 P7 `4 y# y& x2 ^8 s5 I! v1 U
那么,你的图片在浏览器里真正看上去是这样的:, c- u" T; H$ `6 j/ H6 H
<img src=”http://www.advertcn.com/affiliatelink”>
6 {0 J0 ?4 ^4 V: {" W( J还记得前面讲到过的Image Stuffing吗?现在访问者看到的链接就是一个真实的图片了.
' ?( ^8 h {/ M9 `: t6 e5. Flash Stuffing8 o d9 Q) [6 R4 D0 K' G# A$ `+ e
关于Flash Stuffing这一部分,还可以参见一本书,CookieStuffingGuide,广告中国有下载,地址:: @$ x& F8 \8 A$ ^: V) z
http://advertcn.com/viewthread.php?tid=72234&extra=page%3D1) X5 I4 c5 q' \9 u* r e
相信大家都玩过Flash游戏吧,可以使用键盘或鼠标操纵动画里的部分动作,交互性很强,这便是ActionScript的厉害之处,它与JavaScript结构类似,但是它的编程要容易得多.5 B& l3 [1 R" n. R! F' K% Q
用ActionScript创作出来的动画具有很强的交互性,Flash程序脚本语言就是ActionScript,译作行动脚本.最近版本是3.0.
; o v N, O3 a; H讲述Flash Stuffing,专业术语较多,我看资料时头也很大.所以,一些复杂的理论我跳过去省略掉.$ {5 R& i. ?( x" N
Flash几乎无可能对所发送的referer作假,所幸它有个可以利用的漏洞,那就是sendToURL().
7 Z `+ ?. Z4 E( bActionScript3.0里有个叫sendToURL()的功能,这个功能的设计是,发送信息到一个网站,但不用等待响应.
! }1 J- _' y. x" V8 S+ j. D具体来说,sendToURL()发送一个URL到服务器确认,但不理睬任何响应.也就是说,它用访问者的浏览器(你的cookie stuffing”受害者”)提交一个请求到一个网站,但浏览器被假设为不理睬任何响应.% K5 [' q4 S' H' G( E
但头部信息是不会被拒绝的,cookie能穿越sendToURL()未触及的功能通过去,cookie的植入自然也就无疑问.. Q( m0 D3 n& d8 |$ ^6 f. b( W
如果你会PHP的话,你可以指定哪个浏览器不发送空白的referers,以及阻止来自被发送到sendToURL()的信息.你还可以设定你的PHP文件指令,优化你想要的CTR比率,以保持稳定的收入.2 U& i2 o- a. q, T7 O8 @! G) C' _( w
此类程序有几种,有的已停止出售.最好是找人写一个针对特定联盟的.当然前提是联盟默许cookie stuffing.
1 I+ M. B, M0 M8 P# P前面所讲到的每个cookie stuffing方法,不管是哪个,都会被联盟发现从而封掉你的账号.不信的话你可以多试试看,除非你发现了高手成功的方法.
- D( b' J! x7 T4 t那么,联盟是怎样抓住你使用了cookie stuffing的呢?
" q' }, x) C3 i1 `首先,image stuffing,包括和它相结合的.htaccess stuffing,被证明是无法改变referer的.3 j( g4 O2 `/ j- Q+ Q4 b
后面我会讲到如何改变iframes和弹出式窗口的referer.
2 N. v0 e( G( R其次,第二个察觉cookie stuffing的方法是blank referer,这个方法是合法的,但联盟会告诉你不行,或不给你一个明确的答复.
# A' F( J5 O- L) O, F: _ P' ]如果你用了blank referer,你认为该怎样解释?这里有2个选择:: J. S- H. C( y) D! S% A
1:你偷偷摸摸地在做某种事情,也就是blackhat7 V, R9 k2 q/ e z7 ~& V$ n
2:你隐藏了流量来源. H% m! q' U% [. o' d
那么,你会用哪个选择来回答联盟呢?1,还是2?
) i5 u- f6 L) M+ Y) U9 e/ z6 {我直接说吧,永远也不要说你在做blackhat的事情,只说你的流量来源是个机密.
6 G4 Q3 K8 |. Y2 _) q然后你可能会收到电话或电子邮件,问你空白referer的来源,因此你事先要做好准备.3 g: C X+ r, H# i0 g; t( N' i& g
第三个方法是他们用转化率来破解你是否用了cookie stuffers.8 Y$ Q6 {" V* f2 n5 G2 A; V
什么是转化率?比方说,被你植入cookie的访问者都是潜在的消费者,如果他们没有消费或注册,或很少很少,你的转化率会显示很低.原因是你那些流量都是随机的乱七八糟的,不是目标流量,并没有真的点击了你的链接来到商家网站.3 C1 h) F, T$ U# N0 y
在大多数情况下,联盟不会封掉你的账号,他们仅委婉地告诉你: 你不能再推广那个任务,也许你会发现推广别的任务比较好.
$ r% y" A9 s7 D4 P6 ~. o第四个方法是联盟用CTR数据来发现你在emu.事实上,图片是不可能有100%的点击率的,这是affiliates界的尺度,所以要注意了./ g# f9 U& }6 `
最后,最坏的情况是,联盟从你收入的情况来判断你是否emu.
+ _& J& x7 Q7 ^/ K) g; ^1 D6 z怎么判断的呢?联盟用某个一样的比例来衡量affiliates的收入.; o, N, h; }& `/ g3 Z1 O
举个例子,假如一万个会员平均月收入是100美元,并有3个人超过了500美元一个月.那么,你会被列入那个人里面,被联盟重点照顾.
" K. c9 u f. T( K+ r% u联盟不放过每个细节,对你仔细分析哪些是你做对的,哪些是做错的.这就是前面我提到过的,这种时候联盟会来调查电话问你空白流量的来源.
- v5 ?1 W' _" M% g& P" o- p好了,现在我们已知道了联盟是怎样检查我们的,下一步我将讲解如何应对.
' N3 [; f+ m6 U4 |( o在(四)里,我们大体已知道了联盟是怎样检查我们的,那么,现在该如何去应对它呢?以下内容是比较深的.1 C+ \: ?" _; _" ~* A, O
首先,必须接受这样的事实,在image stuffing里改变referer是不可能的,因此,除非你能承担和把风险降低到最低点,否则不要在网站或论坛搞image stuff.
1 Q+ l, V* o0 `& l* Q- N2 o) C, e: H第二,学会如何适当地使用刷新代码.把iframe和刷新2者结合,referer信息将是空白的.7 J# [; c; S9 \: l
现在不是所有的浏览器都支持上面所说的第二点,因此我们得把它过滤掉.我们做成2个PHP跳转页面,先是第一个刷新页面到达第二个页面,第二个页面自动检查referer信息是否是空白.如果是,那么这个浏览器可以使用.然后我们就可以第二次刷新来到affiliate推广页面.
9 D! c) N3 y* N, h, ]联盟将看到你的来了来源都是空白的.6 n2 e3 E4 ]8 ?4 d
关于这个2次刷新脚本,不懂的话读者可以自己找人写个. ?2 }; k" x; n+ L
嗯,有的联盟已规定流量来源不可以是空白的,自然就不能用以上方法.& U# E- B$ A0 d. O
第三
, Q) p' f/ p- I7 C这个方法已用得很广泛了.如果访问者是通过搜索引擎来到你的网站,那么无疑,这时stuffing是相当安全的,联盟对此情况必定无话可说的.
$ i8 R' c3 Y: O( j, _+ g- [那么我们可以这么做,让搜索引擎收录,比如雅虎的目录;让分类信息站收录,比如craigslist;再比如加入到ebay. 这些都是可以做到的几种不同的方法.
8 M" n5 h _5 {* K' K我们可以用一个htaccess文件转到指定的affiliate链接的来源.
$ H+ h5 _: O: S/ `! e- r或者我们可以写一个来源到数据库里,然后让被称为index.php的页面执行.我们可以告诉我们的PHP文件,对写好的某段代码做出决定,即使是来自某个站点的来源也可以改变.
) C" C0 G( C W) u& bif(substr((trim($_SERVER['HTTP_REFERER'])),0,23)==”http://www.google.com/”)
" ?7 z: M6 l" K7 ~1 F5 a/ h" M{; ]/ ?1 \' w k. v% x. \/ o2 r9 U
echo “<img src=\”http://www.advertcn.com/affiliatelink” height=\”1\” width=\”1\” alt=\”\”>”;9 j# J' l( |( Z3 n+ V; i& ~
}9 e3 m1 @7 j9 J5 g4 ~9 U% R9 \2 Q! D
现在我们要抛弃掉image stuff,使用加上刷新代码的iframe,或flash文件,用于植入特定的来源对象,没有任何限制.! E) g9 l3 f+ n8 L; L c
这个程序能很好的平衡CTR和对流量来源的检验,还能避免你的AM被植入cookies.
+ D; _/ V/ [" \4 S2 v不过,需要懂些PHP程序方面的知识才行.如果没这个能力,可以考虑去威客平台找外包,在国外有Freelance programmers接这种活.国内的我觉得就别找了吧.) F8 q3 u N: _$ s3 S9 t9 W* |
第四/ b% u( a8 k% h4 a$ f
这是另一个不会引起别人警觉的在论坛植入cookies的方法,可以设置一个比例,让访问者随机被植入cookies. 比如说设置5%,那么,100个访问者里有5人会被植入cookies. 这个方法工作原理是怎么样的呢? 它有个名称叫动态.htaccess.它包含了2个图片文件和1个.htaccess文件.* B" J* n" E& E3 s1 N( w! Z
当显示图片时,会适时地运行一PHP程序.4 g6 t% v6 ]! X4 o" v
现在我讲解一下这2个图片., R2 |$ K! v6 B' S* H! K8 o
第一个图片其实是假的,每次被访问会编辑.htaccess文件.我们设置一定的比例多少次图片1被图片2″覆盖”,比如5%.
; y B3 ~* B: E6 V) R下面的代码是5%的时间里时htaccess的写法:
- n: T, v8 x4 _0 \$ Y$ fRewriteEngine on
' H6 D3 L o: A3 l% }" {+ J4 fRewriteRule signature.jpg signature.php [L,R=301]. G" z' m# s" O1 D& K
RewriteRule affiliatetracking_pixel.gif http://www.advertcn.com/affiliatelink [L,R=301]
6 n0 }0 I) O7 z: s5 c3 w" y下面的代码是95%的时间里时,htaccess的写法:
5 o5 Q9 J+ E: f @RewriteEngine on8 y5 k) R9 |8 C( P! n/ ?
RewriteRule signature.jpg signature.php [L,R=301]& `: \9 c: ^' Q
RewriteRule affiliatetracking_pixel.gif tp.gif [L,R=301]
/ S! m* a/ h L0 Q) }就是说,95%的时候,在论坛看到的是正常的签名,5%的时候看到的是×.万一如果有人怀疑这个×,那么,他刷新一下帖子的页面后,看到的又是一个真实的图片.5 [5 c0 g8 n: Z8 k, L9 a9 c
这是因为刷新后htaccess又被重写了.5 U3 _% I* `+ J7 }% I
使用这个方法事先要注意是否容许在论坛推广,以及签名除了图片还可以使用文本.
5 W+ l0 l) k, y, }3 A, e" d/ s第五
5 j+ w2 D) @7 e4 ?6 ?9 _1 {前面我们已知道,那个红叉是个麻烦问题.9 [! a+ V; j2 e' n
但如果我们是在一般非技术论坛搞cookie植入的话,仅针对火狐浏览器用户植入就可,因为火狐浏览器不会显示红叉,这点它跟IE6/7不一样的.
$ j; I0 j' X6 }+ ~. f这个方法的代码如下,由上往下读:; A1 ^3 w( Q9 \: V5 | S* U/ l
Options +FollowSymlinks
# g* w5 G) n! n- k) Z( pRewriteEngine on* a1 @( M- ~" s% ^
RewriteCond %{HTTP_REFERER} !^$' ^# R1 C+ p( D
RewriteRule signature.jpg special.jpg [P,L] ^Mozilla/5.0.*$ [NC]: V% w' m% y' m. A& [
RewriteRule signature.jpg http://www.advertcn.com/affiliatelink[R,L]
5 m/ |! O5 v# e, \/ O/ DRewriteCond %{HTTP_REFERER} ^$
3 j G6 R) C& Y- I7 XRewriteRule signature.jpg special.jpg [P,L]; O, y4 V4 G( h1 d n0 w
RewriteCond %{HTTP_USER_AGENT}
% b) t9 M9 M: E3 j6 a7 P简单的解读是,如果是火狐浏览器用户,就发送你的推广链接给他们,植入cookie,他们看不到红叉." G2 C. g' P2 @( f
其余IE用户则看到的是真实的图片,不被植入cookie.
3 _6 s5 S5 u, i0 m2 ?7 F+ \这个方法相对来说简便易行.
- n# r% Z% G( M; q3 B8 @结语' C; K( j! Q P) ^/ U3 A
关于cookie stuffing的秘密,到此算是讲完了,希望各位有所收获.此外,既然是秘密,如今公开了,就说明是有一定时效性的,故运用时需要自己加以改进.5 b; N: M0 I& z, S3 E) r
最后,谢谢大家阅读,我期待着有更多的积极性去写其它的内容. |
评分
-
查看全部评分
|