IE(ActiveXオブジェクト)を介してユーザーのMACアドレスを取得できることを知っています。
JavaScriptを使用してユーザーのMACアドレスを取得する方法はありますか?
IE(ActiveXオブジェクト)を介してユーザーのMACアドレスを取得できることを知っています。
JavaScriptを使用してユーザーのMACアドレスを取得する方法はありますか?
回答:
迅速かつ簡単な答えはノーです。
JavaScriptは非常に高級な言語であり、この種の情報にアクセスできません。
いいえ、JavaScriptでMACアドレスを取得することはできません。これは、主にMACアドレスが実行中のコンピューターを一意に識別するため、セキュリティの脆弱性になるためです。
一意の識別子が必要な場合は、暗号化アルゴリズムを使用して自分で作成し、Cookieに保存することをお勧めします。
コンピューターのMACアドレスを本当に知る必要があり、内部アプリケーション用に開発している場合は、外部コンポーネントを使用してそれを行うことをお勧めします:ActiveX for IE、XPCOM for Firefox(拡張機能としてインストール)。
私は同じ問題を探していて、次のコードを見つけました。
クライアントのMACアドレスを取得する方法(Web):
クライアントのMACアドレスを取得するには、MicrosoftのJavaScriptと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>