Збір даних за допомогою JavaScript

Публікації

За допомогою JavaScript можна зібрати про користувача таку інформацію: яким браузером користується, платформа пристрою, мова, розмір екрану, часова зона і т.п.

Основна інформація береться з об'єктів window i navigator.

Нижче наведена функція info() яка повертає об'єкт який містить зібрані дані:

info=function(){ var a={}; a.url=window.location.href; if(document.referrer!=location.href && document.referrer!='')a.referrer=document.referrer; if(navigator.platform)a.platform=window.navigator.platform; if(window.navigator.hardwareConcurrency)a.hardwareConcurrency=window.navigator.hardwareConcurrency; a.userAgent=window.navigator.userAgent; if(window.navigator.connection){ a.connecttionType=window.navigator.connection.type; a.connecttionDownlinkMax=window.navigator.connection.downlinkMax; } a.language=window.navigator.language; a.vibrate=(window.navigator.vibrate?true:false); a.maxTouchPoints=(window.navigator.maxTouchPoints?window.navigator.maxTouchPoints:false); a.width=window.screen.width; a.height=window.screen.height; a.colorDepth=window.screen.colorDepth; a.devicePixelRatio=window.devicePixelRatio; if(window.screen.orientation){ a.orientation=(window.screen.orientation.type?window.screen.orientation.type:window.screen.orientation); a.orientationAnge=window.screen.orientation.ange; } if(window.navigator.battery){ a.batteryLevel=window.navigator.battery.level*100; a.batteryCharging=window.navigator.battery.charging; } a.notification=(window.Notification?true:false); a.cookieEnabled=window.navigator.cookieEnabled; a.webSQL=(window.openDatabase?true:false); a.javaEnable=window.navigator.javaEnabled(); a.flashEnable=(window.navigator.plugins['Shockwave Flash'] === undefined?false:true); var date= new Date(); a.date=date.toString(); a.timeZone= date.getTimezoneOffset()/60*-1;return a; }

Функція в дії:

alert( JSON.stringify( info() ) );
var dani= info(),s='';for(a in dani)s+='<br>'+a+' = '+dani[a]; document.getElementById('rezult').innerHTML=s;

Приклад збору даних на JavaScript і відправкою на сервер за допомогою AJAX:

var xhr = new XMLHttpRequest(); xhr.open('post', 'http://xn--80adth0aefm3i.xn--j1amh/ajax.php?act=test_post', false); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); var dani=info(); xhr.send('dani='+JSON.stringify(dani) ); alert(xhr.responseText);
Адмін 2017-10-11 00:21:16

Тільки зареєстровані користувачі можуть писати коментарі.