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

Моят сценарий е да получа MAC и IP адрес на свързани компютри не през интернет, а локално в LAN, и също така исках да съхраня тези данни в база данни.

Търсих в 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 адресът уникално идентифицира клиентския компютър, така че може да бъде проблем със сигурността .

Сега, ако искате някакъв уникален идентификатор, който да използвате във вашето приложение, който уникално идентифицира компютъра на клиента, можете да направите малко криптография и да използвате клиентски бисквитки, за да съхранявате стойностите.

Въпреки че 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? - Можете ли да получите потребителски локален LAN IP адрес чрез JavaScript?

person Asad Ali    schedule 27.06.2016