Вероятно е дубликат на това.
Можете да получите 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