What information can we access from the client? [closed]

I'm trying to compile a list of information that is accessible via javascript such as:

  • Geo-location
  • IP address
  • Browser software
  • Exit location
  • Entrance location

I understand that a user can alter any of this information and that it's reliability is purely trust related, but I am still interested in what other information can be mined from the client.


Solution 1:

Here is most of the information:

var info={

    timeOpened:new Date(),
    timezone:(new Date()).getTimezoneOffset()/60,

    pageon(){return window.location.pathname},
    referrer(){return document.referrer},
    previousSites(){return history.length},

    browserName(){return navigator.appName},
    browserEngine(){return navigator.product},
    browserVersion1a(){return navigator.appVersion},
    browserVersion1b(){return navigator.userAgent},
    browserLanguage(){return navigator.language},
    browserOnline(){return navigator.onLine},
    browserPlatform(){return navigator.platform},
    javaEnabled(){return navigator.javaEnabled()},
    dataCookiesEnabled(){return navigator.cookieEnabled},
    dataCookies1(){return document.cookie},
    dataCookies2(){return decodeURIComponent(document.cookie.split(";"))},
    dataStorage(){return localStorage},

    sizeScreenW(){return screen.width},
    sizeScreenH(){return screen.height},
    sizeDocW(){return document.width},
    sizeDocH(){return document.height},
    sizeInW(){return innerWidth},
    sizeInH(){return innerHeight},
    sizeAvailW(){return screen.availWidth},
    sizeAvailH(){return screen.availHeight},
    scrColorDepth(){return screen.colorDepth},
    scrPixelDepth(){return screen.pixelDepth},


    latitude(){return position.coords.latitude},
    longitude(){return position.coords.longitude},
    accuracy(){return position.coords.accuracy},
    altitude(){return position.coords.altitude},
    altitudeAccuracy(){return position.coords.altitudeAccuracy},
    heading(){return position.coords.heading},
    speed(){return position.coords.speed},
    timestamp(){return position.timestamp},


    };

Solution 2:

Don't forget about

  • Screen Size
  • Allowed Cookies
  • Allowed Java
  • Mobile or Desktop
  • Language

And here is useful link with data-mining demo:

http://www.alanwood.net/demos/browserinfo.html

Solution 3:

visitor.js is a javascript library that provides information about the client.

Including:

  1. Continent, Country and city
  2. Date of last visit
  3. Referring website or search engine (including search term)
  4. Time spent on the website
  5. Browser and operating system
  6. IP Address
  7. Language
  8. Browser
  9. OS
  10. Screen size

And more.

http://www.visitorjs.com/

Visitorjs might be very handy, it's not free however.