Saya tahu bahwa kita bisa mendapatkan alamat MAC pengguna melalui IE (objek ActiveX).
Apakah ada cara untuk mendapatkan alamat MAC pengguna menggunakan JavaScript?
Saya tahu bahwa kita bisa mendapatkan alamat MAC pengguna melalui IE (objek ActiveX).
Apakah ada cara untuk mendapatkan alamat MAC pengguna menggunakan JavaScript?
Jawaban:
Saya setuju dengan semua jawaban sebelumnya bahwa itu akan menjadi kerentanan privasi / keamanan jika Anda dapat melakukan ini langsung dari Javascript. Ada dua hal yang dapat saya pikirkan:
Jawaban cepat dan sederhana adalah Tidak.
Javascript adalah bahasa tingkat tinggi dan tidak memiliki akses ke informasi semacam ini.
Tidak, Anda tidak bisa mendapatkan alamat MAC dalam JavaScript, terutama karena alamat MAC secara unik mengidentifikasi komputer yang sedang berjalan sehingga akan menjadi kerentanan keamanan.
Sekarang jika yang Anda butuhkan hanyalah pengenal unik, saya sarankan Anda membuatnya sendiri menggunakan beberapa algoritme kriptografi dan menyimpannya dalam cookie.
Jika Anda benar-benar perlu mengetahui alamat MAC komputer DAN Anda mengembangkan aplikasi internal, saya sarankan Anda menggunakan komponen eksternal untuk melakukannya: ActiveX untuk IE, XPCOM untuk Firefox (diinstal sebagai ekstensi).
Jika ini untuk aplikasi intranet dan semua klien menggunakan DHCP, Anda dapat meminta alamat MAC server DHCP untuk alamat IP tertentu.
saya sedang mencari masalah yang sama dan menemukan kode berikut.
Cara mendapatkan alamat MAC Klien (Web):
Untuk mendapatkan alamat MAC klien hanya dengan cara kita dapat mengandalkan JavaScript dan kontrol Active X dari Microsoft. Ini hanya berfungsi di IE jika Active X diaktifkan untuk IE. Karena ActiveXObject tidak tersedia dengan Firefox, ini tidak berfungsi dengan firefox dan berfungsi dengan baik di IE.
Skrip ini hanya untuk IE:
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>