IE (ActiveX nesneleri) aracılığıyla bir kullanıcının MAC adresini alabileceğimizi biliyorum.
JavaScript kullanarak bir kullanıcının MAC adresini almanın bir yolu var mı?
IE (ActiveX nesneleri) aracılığıyla bir kullanıcının MAC adresini alabileceğimizi biliyorum.
JavaScript kullanarak bir kullanıcının MAC adresini almanın bir yolu var mı?
Yanıtlar:
Bunu doğrudan Javascript'ten yapabiliyorsanız, bunun bir gizlilik / güvenlik açığı olacağı konusunda önceki tüm cevaplarla aynı fikirdeyim. Aklıma gelen iki şey var:
Hızlı ve basit cevap Hayır.
Javascript oldukça yüksek seviyeli bir dildir ve bu tür bilgilere erişimi yoktur.
Hayır, MAC adresini JavaScript'te alamazsınız, çünkü MAC adresi çalışan bilgisayarı benzersiz bir şekilde tanımladığından, bu bir güvenlik açığı olacaktır.
Şimdi ihtiyacınız olan tek şey benzersiz bir tanımlayıcıysa, bazı şifreleme algoritmalarını kullanarak kendiniz bir tane oluşturmanızı ve bir çerezde saklamanızı öneririm.
Bilgisayarın MAC adresini gerçekten bilmeniz gerekiyorsa VE dahili uygulamalar için geliştiriyorsanız, bunu yapmak için harici bir bileşen kullanmanızı öneririm: IE için ActiveX, Firefox için XPCOM (bir uzantı olarak yüklenir).
Bu bir intranet uygulaması içinse ve tüm istemciler DHCP kullanıyorsa, belirli bir IP adresi için MAC adresi için DHCP sunucusunu sorgulayabilirsiniz.
Ben de aynı sorunu arıyordum ve aşağıdaki koda rastladım.
İstemci MAC adresi nasıl alınır (Web):
İstemci MAC adresini yalnızca Microsoft'un JavaScript ve Active X denetimine güvenebileceğimiz şekilde almak için IE'de Active X etkinleştirildiğinde yalnızca IE'de çalışır. ActiveXObject Firefox ile mevcut olmadığından, firefox ile çalışmıyor ve IE'de iyi çalışıyor.
Bu komut dosyası yalnızca IE içindir:
function showMacAddress() {
var obj = new ActiveXObject("WbemScripting.SWbemLocator");
var s = obj.ConnectServer(".");
var properties = s.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration");
var e = new Enumerator(properties);
var output;
output = '<table border="0" cellPadding="5px" cellSpacing="1px" bgColor="#CCCCCC">';
output = output + '<tr bgColor="#EAEAEA"><td>Caption</td><td>MACAddress</td></tr>';
while (!e.atEnd()) {
e.moveNext();
var p = e.item();
if (!p) continue;
output = output + '<tr bgColor="#FFFFFF">';
output = output + '<td>' + p.Caption; +'</td>';
output = output + '<td>' + p.MACAddress + '</td>';
output = output + '</tr>';
}
output = output + '</table>';
document.getElementById("box").innerHTML = output;
}
showMacAddress();
<div id='box'></div>