What have your users been browsing?

You can parse a browsers cache for a particular common element on another website and see what they have “been up too”. It’s powerful in the sense of data collection. You can almost tell age groups based on specific sites, and nationality, perhaps political preference and sex. Maybe even if they’re a parent. All you need to do is have the right destination link.

So if you’re in China, some of the sites are blocked so you will get an Er Error. The rest are Yes or No. Let me know how accurate it is :)

facebook: slashdot: cnn: abebooks:
twitter: myspace: bbc: msy:
digg: engadget: reuters: techbuy:
reddit: last.fm: wikipedia: borders (au):
HN: pandora: amazon: mozilla:
stumbleupon: youtube: ebay (au): anandtech:
wired yahoo: newegg: tomshardware:
xkcd google: bestbuy: shopbot (au):
linkedin hotmail: walmart: staticice:

The code in question:

function visipisi(url, cb)
{
  var count = 0;
  var start, cachedTime, uncachedTime;
  var cached = new Image(), uncached = new Image();
  var determineVisitedness = function () {
    cb(cachedTime < 0.05 * uncachedTime);
  }
  var errCB = function () {
    count = -10;
    cb(null);
  }

  cached.onload = function() {
    cachedTime = (new Date()).getTime() - start;
    if (++count == 2)
      determineVisitedness();
  };
  uncached.onload = function() {
    uncachedTime = (new Date()).getTime() - start;
    if (++count == 2)
      determineVisitedness();
  };
  cached.onerror = errCB;
  uncached.onerror = errCB;

  var start = (new Date()).getTime();
  cached.src = url;
  uncached.src = url + ('?' + Math.random());
}

Source & Code
Original

Leave a Reply