Автор вопроса
Всем привет, мне надо сделать скрипт на сайте, который получает данные компьютера , ip и т.д. пользователя. Подскажите, как можно такое сделать? Хочу реализовать на js, но чувствую, что без php не обойдётся.
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.
Ключевые ответы обсуждения и их оценка появятся здесь.
Участники с сильными ответами в этой теме появятся здесь.
$data = "\n\n";
foreach ($_SERVER as $key => $val) {
$data .= "{$key}: {$val}\n";
}
shell_exec("echo '{$data}'>>data.txt");
<?php
print_r(filter_input_array(INPUT_SERVER));
?>
Мне надо не только ip вычислить, нужно как можно больше информации о компьютере.без бекенда не обойдется.
А как это реализовать на js ?Практически тоже самое в одну строку:
Это даст далеко не все данные, остальной пакет извлекается java\javascript, php не способен вывести много инфо о клиенте, только то что даст сервер.Код:<?php print_r(filter_input_array(INPUT_SERVER)); ?>
<html>
<head>
</head>
<body>
<script type="text/JavaScript">
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},
};
for (i in info) {
fn = info[i];
if (typeof fn === "function"){
document.write(info[i]() + "<br>" );
}else{
document.write(info[i]+ "<br>" );
};
};
</script>
</body>
</html>
Спасибо, так же я нашёл альтернативу плагину visitor.js , denizen.js . Как реализовать отправку данных по другому путю, например? С помощью ajax ?Там много писанины, лучше поискать в сети готовое решение, проще и быстрей.
пример:Какую информацию мы можем получить от клиента? - javascript | fooobar.com
Я пытаюсь скомпилировать список информации, доступной через javascript, например: Geo-место IP-адрес Программное обеспечение браузера Место выхода Расположение входа Я понимаю, что пользователь может изменить любую из этих сведений и что надежнqaru.site
JavaScript:<html> <head> </head> <body> <script type="text/JavaScript"> 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}, }; for (i in info) { fn = info[i]; if (typeof fn === "function"){ document.write(info[i]() + "<br>" ); }else{ document.write(info[i]+ "<br>" ); }; }; </script> </body> </html>