IE (ActiveX オブジェクト) を介してユーザーの MAC アドレスを取得できることはわかっています。
JavaScript を使用してユーザーの MAC アドレスを取得する方法はありますか?
IE (ActiveX オブジェクト) を介してユーザーの MAC アドレスを取得できることはわかっています。
JavaScript を使用してユーザーの MAC アドレスを取得する方法はありますか?
Javascriptから直接これを行うことができれば、プライバシー/セキュリティの脆弱性になるという以前のすべての回答に同意します. 私が考えることができる2つのことがあります:
迅速かつ簡単な答えはノーです。
Javascript は非常に高度な言語であり、この種の情報にはアクセスできません。
いいえ、JavaScriptでMACアドレスを取得することはできません。これは主に、MACアドレスが実行中のコンピューターを一意に識別するため、セキュリティの脆弱性になるためです。
一意の識別子だけが必要な場合は、暗号化アルゴリズムを使用して自分で作成し、Cookieに保存することをお勧めします。
コンピューターのMACアドレスを本当に知る必要があり、内部アプリケーション用に開発している場合は、外部コンポーネントを使用してそれを行うことをお勧めします。IEの場合はActiveX、Firefoxの場合はXPCOM(拡張機能としてインストール)。
これがイントラネット アプリケーション用であり、すべてのクライアントが DHCP を使用している場合は、特定の IP アドレスの MAC アドレスを DHCP サーバーに問い合わせることができます。
いいえ。ActiveX がそれを実行できる理由は、ActiveX がクライアントのマシン上で実行される小さなアプリケーションだからです。
JavaScriptを介してそのような情報にアクセスすると、セキュリティ上の脆弱性が生じると思います.
私は同じ問題を探していて、次のコードに出くわしました。
クライアントの MAC アドレスを取得する方法 (Web):
クライアントの MAC アドレスを取得するには、JavaScript と Microsoft の Active X コントロールに頼ることができます。これは、IE で Active X が有効になっている場合にのみ IE で機能します。ActiveXObject は Firefox では使用できないため、Firefox では動作せず、IE では正常に動作しています。
このスクリプトは 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>