Вероятно, это дубликат этого.
Вы можете получить 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