วันเสาร์ที่ 3 พฤษภาคม พ.ศ. 2551

Alexa Ranking Script

My cousin who is my "partner in crime" came up with this Alexa script for increasing Alexa rank. Basically what it does is make Alexa think that all the visitors to your site have the toolbar installed. I just installed it in my sites tonight so I'll keep you updated on how it works. I welcome any comments.

The Alexa toolbar itself generates a standard HTTP GET request. We can do the same by inserting a <IMG> tag with the resulting url as the source. Alexa actually returns XML markup as a response, but the contents are irrelevent for this purpose; we just want to trigger the logic.

There are a bunch of query values in the URL; some are obvious, others... not so much.

The keys to getting this to work is to start page generation with:

----------------------
session_start();
----------------------

If your using persistant sessions, you probably already got this.

Next, create a new function somewhere in your code; if you have a global functions file, it'd probably go there. otherwise, you can put it right below the session_start() value above.

----------------------
function alexa() {
$domain = "http://data.alexa.com";
$keylength = 14; // the resulting length of the keyid. 14 and 15 were seen in the wild.

// session_start() must have already been set. If so, this will ensure that each visitor maintains the same keyid throughout the entire visit.
if (isset($_SESSION['alexa_keyid'])) {
$keyid = $_SESSION['alexa_keyid'];
} else {
$keyid = substr(str_shuffle("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"),0,$keylength);
$_SESSION['alexa_keyid'] = $keyid;
}

$cli = "10"; // ???
$dat = "snba"; // ???
$ver = "7.2"; // version number of toolbar?
$cdt = "alx_vw"; // ???
$wid = rand(0,32767); // appears to be a random integer initiated when the browser starts.
$act = "00000000000"; // ???
$ssarray = array ("800x800", "1024x768", "1280x768", "1280x800",
"1280x1024", "1600x1200", "1680x1050", "1920x1200");
shuffle($ssarray);
$ss = $ssarray[0]; // browser screensize. Resulting value is chosen at random from an array of values.
$bw = "1523"; // bandwidth? probably used in calculating metrics related to visitor connection speeds (noted values are close to common
// connection speeds like 768k, 1mb, 1.5mb, etc.)
$t = "0"; // ???
$ttl = rand(200,1000); // time-to-live? probably used in calculating average load times
$vis = "1"; // ???
$rq = rand(15,80); // appears to increment with each toolbar request
$url = "http://<<<PUT YOUR DOMAIN HERE>>>/";

$params="/data/".$keyid."?cli=".$cli."&dat=".$dat."&ver=".$ver."&cdt=".$cdt."&wid=".$wid."&act=".$act."&ss=".$ss."&bw=".$bw."&t=".$t."&ttl=".$ttl."&vis=".$vis."&rq=".$rq."&url=".$url;

return $domain.$params;
}
---------------------

Finally, insert somewhere on your page the following:

---------------------
<? echo "<img src='".alexa()."' height='0' width='0'>"; ?>
---------------------

That will trigger the actual event.

Somebody else can probably clean and extend this code up better than I. This was a quick hack-togeather in about 30 minutes. If i'm on to something, it could also warrant a better explanation.

1 ความคิดเห็น:

Seenath Kumar กล่าวว่า...

Thank you for sharing this information on alexa rank.
SEO Company Mumbai