Получить Mac и IP-адрес локальных ПК с помощью JAVASCRIPT/PHP и сохранить его в базе данных?

Мой сценарий заключается в том, чтобы получить MAC и IP-адреса подключенных компьютеров не через Интернет, а локально в локальной сети, и я также хотел сохранить эти данные в базе данных.

Я искал в Google и обнаружил, что мы можем получить эти значения с помощью Javascript. Но я новичок в этом, может кто-нибудь разработать правильное решение?


person Mohiyo Deen    schedule 27.06.2016    source источник


Ответы (1)


Вероятно, это дубликат этого.

Вы можете получить IP-адрес клиентского компьютера, попробовав следующий код:

        window.RTCPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;   //compatibility for firefox and chrome
        var pc = new RTCPeerConnection({iceServers:[]}), noop = function(){};      
        pc.createDataChannel("");    //create a bogus data channel
        pc.createOffer(pc.setLocalDescription.bind(pc), noop);    // create offer and set local description
        pc.onicecandidate = function(ice){  //listen for candidate events
            if(!ice || !ice.candidate || !ice.candidate.candidate)  return;
            var myIP = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/.exec(ice.candidate.candidate)[1];
            console.log('my IP: ', myIP);   
            pc.onicecandidate = noop;
        };

Хотя для MAC-адреса я не уверен, что вы можете сделать это с помощью javascript в веб-приложении, потому что MAC-адрес однозначно идентифицирует клиентский компьютер, поэтому это может быть проблемой безопасности. .

Теперь, если вы хотите, чтобы в вашем приложении использовался какой-то уникальный идентификатор, который однозначно идентифицирует компьютер клиента, вы можете выполнить некоторую криптографию и использовать клиентские файлы cookie для хранения значений.

Хотя доступ к MAC-адресу возможен только в IE и только в том случае, если пользователь разрешает запуск подключаемого модуля через следующие

function networkInfo(){

var wmi = new ActiveXObject ("WbemScripting.SWbemLocator");
var service = wmi.ConnectServer(".");

e = new Enumerator(service.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True"));

for(; !e.atEnd(); e.moveNext()) {
    var s = e.item();
    var macAddress = unescape(s.MACAddress);

}

return macAddress;
}

Источники: - MAC-адреса в JavaScript - Как получить MAC-адрес клиента с помощью javascript? - Можете ли вы получить IP-адрес локальной локальной сети пользователя с помощью JavaScript?

person Asad Ali    schedule 27.06.2016