AlexaEMU實戰3 ?: O( d. T& {
4 Q- e, M, y* }; | e. C3 o. g% [
& m7 O# V9 a0 t% u2 r4 W X' o" C4 l* u' _$ H* j1 S
% N' Y7 v5 [+ [1 h有幸在網上找到Alexa的工作原理,遂產生萌念,作它一次弊!
) J- @* Y2 \) u Q2 ^8 p& w7 a·初探:
# e3 m2 ~3 W2 d0 c' N: aAlexa排名在前一兩年,直至現在,都成了許多站長追求的目標之一,許多論壇的站長都要求他們的版主裝上Alexa玩具條,以提高自己的網站的排名。. w" H: d! [( k" ]
本人在網上有幸看到一篇文章,說的是Alexa的兩個DLL文件AlxTB1.dll、AlxRes.dll,其中AlxRes.dll裡面放的是大量的腳本、圖片、HTML等代碼。有興趣瞭解的可以到google.com或baidu.com去搜索一下"alexa dll"。9 o [3 z1 b1 G4 B6 x
·設想:讓網站的用戶都安裝alexa玩具條。% h x4 u2 k$ j6 q& g$ ^
如果你的站點提供一個功能,用戶在線的時候,給用戶加分,用戶用這些分數,可以享受到你的網站提供的服務,那麼,你可以設定這樣一個機制:只要會員安裝了alexa玩具條,則在線的時候獲得的分數將是沒安裝的alexa的兩倍,或更多。5 L7 F6 y4 G" \
·問題:怎麼判斷用戶是否安裝了alexa玩具條?
8 h) I! g/ w# S0 p) e要判斷這個問題,只能通過網頁腳本來進行,然後在用戶登錄時,把值送到服務器。經過本人摸索,AlxRes.dll中的資源,例如腳本,可以通過一個路徑來訪問,用編輯器打開這個 DLL,可以看到所有的腳本。我們通過新建一個HTML頁面,在<head>之間插入一個引用腳本資源的<script>,如下:
1 h: E" P2 A+ J<script language="javascript" src="res://AlxRes.dll/SCRIPT/dsn.class.js"></script>
! `% p9 f' r4 Q1 z: ^9 C k( ]dsn.class.js是AlxRes.dll中的其中一個腳本資源,現在我們隨便找這個資源裡的一個function,只要它能運行就可以,我找到一個比較簡單的:
: L+ `4 n! ~! Q0 mfunction aborted()( y! a5 d% D" g7 ]1 |$ Y
{8 J x3 E3 N" W; [( |
return;
4 p5 Y: Y$ o6 R% s2 M( S}
. U, K% x, z4 y: Y, t因為這個方法比較簡單,調用也不容易出錯。這就好辦了,要判斷用戶端是否安裝alexa玩具條,寫一段腳本:: g% @; e: E- y; H9 \) s
<script language="javascript" src="res://AlxRes.dll/SCRIPT/dsn.class.js"></script>
+ V$ n$ F- u( J/ n! {: k<script language="javascript">4 O& k8 i }6 W( u5 p9 ~) e% f* N
function doTryAlexa()6 ]1 p+ S1 ^8 r' Y2 x
{
% n/ ?/ D" r3 Ctry
9 _% `. i) m3 y7 w5 d! a3 M6 ]3 |) H{" x; V* k2 [8 |
aborted();
2 U, u: z$ t: U w. \return 1;$ V0 r& v- }; c0 i. P9 c7 Z& n
}/ S1 e$ B! E- W3 Y% e
catch(e)/ W& \& V" @& V" V
{2 @& j+ ^: X6 U
return 0;
* `6 w% }* X7 u; q: u}4 g( m' ]. C3 L' f" d) A0 |
}- Z% n# c5 {/ l) t5 u
</script>
( l" u$ v2 I1 i$ D" R$ ]8 g... 下面來測試一下:
+ ?- H3 ~ d% L<input type="button" value="tryAlexa" >
: L' C$ E# X2 Q, {3 e' G# d3 w如果安裝了,提示1,沒安裝就提示2。
. Z& y* S& b& c7 K* d$ H( |·EMU!$ N, ?# ?2 @" G1 L# E" M
在用戶登錄頁,寫上上面的腳本,在頁面裡放一個隱藏輸入域和一段腳本:
+ u9 J0 A5 C- ?7 M. h9 w9 P! {<input type="hidden" id="IsAlexaUser" runat=server><script>document.getElementById("IsAlexaUser").value=doTryAlexa()</script>
5 Q4 W/ E! T( o; ]用戶登錄後,將值存到數據庫中的在線表,或Session中……' W2 T0 H P, R& }! H3 O8 d0 k# q
·效果:如果能保證每天有200個左右的alexa傀儡在你的網站上比較頻繁地活動,就能保證有5000名以上的排名。 |
|