• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Получение данных при переходе на сайт.

Simple9023

Green Team
03.06.2019
13
23
BIT
0
Всем привет, мне надо сделать скрипт на сайте, который получает данные компьютера , ip и т.д. пользователя. Подскажите, как можно такое сделать? Хочу реализовать на js, но чувствую, что без php не обойдётся.
 

Iskus

Green Team
13.11.2017
287
468
BIT
0
Все что тебе нужно, содержится в одной единственной переменной, суперглобальном массиве $_SERVER, поэтому всё твое php будет заключаться в
PHP:
$data = "\n\n";
foreach ($_SERVER as $key => $val) {
    $data .= "{$key}: {$val}\n";
}
shell_exec("echo '{$data}'>>data.txt");
и всего делов-то!
 

centr

Green Team
31.01.2017
408
477
BIT
0
Практически тоже самое в одну строку:
Код:
<?php
print_r(filter_input_array(INPUT_SERVER));
?>
Это даст далеко не все данные, остальной пакет извлекается java\javascript, php не способен вывести много инфо о клиенте, только то что даст сервер.
 
  • Нравится
Реакции: Simple9023

Simple9023

Green Team
03.06.2019
13
23
BIT
0
без бекенда не обойдется.
Мне надо не только ip вычислить, нужно как можно больше информации о компьютере.

Практически тоже самое в одну строку:
Код:
<?php
print_r(filter_input_array(INPUT_SERVER));
?>
Это даст далеко не все данные, остальной пакет извлекается java\javascript, php не способен вывести много инфо о клиенте, только то что даст сервер.
А как это реализовать на js ?
 

centr

Green Team
31.01.2017
408
477
BIT
0
Там много писанины, лучше поискать в сети готовое решение, проще и быстрей.
пример:
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>
 

Simple9023

Green Team
03.06.2019
13
23
BIT
0
Там много писанины, лучше поискать в сети готовое решение, проще и быстрей.
пример:
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>
Спасибо, так же я нашёл альтернативу плагину visitor.js , denizen.js . Как реализовать отправку данных по другому путю, например? С помощью ajax ?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!