What information can we access from the client?

JavascriptData MiningData Retrieval

Javascript Problem Overview


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.

Javascript Solutions


Solution 1 - Javascript

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 - Javascript

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 - Javascript

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.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionGeorge ReithView Question on Stackoverflow
Solution 1 - JavascriptNiel RyanView Answer on Stackoverflow
Solution 2 - JavascriptMarek SeberaView Answer on Stackoverflow
Solution 3 - Javascriptcall-meView Answer on Stackoverflow