मुझे पता है कि हम IE (ActiveX ऑब्जेक्ट) के माध्यम से उपयोगकर्ता का मैक पता प्राप्त कर सकते हैं।
क्या जावास्क्रिप्ट का उपयोग करके उपयोगकर्ता का मैक पता प्राप्त करने का कोई तरीका है?
मुझे पता है कि हम IE (ActiveX ऑब्जेक्ट) के माध्यम से उपयोगकर्ता का मैक पता प्राप्त कर सकते हैं।
क्या जावास्क्रिप्ट का उपयोग करके उपयोगकर्ता का मैक पता प्राप्त करने का कोई तरीका है?
जवाबों:
मैं पिछले सभी उत्तरों से सहमत हूं कि यह गोपनीयता / सुरक्षा भेद्यता होगी यदि आप सीधे जावास्क्रिप्ट से ऐसा कर पाएंगे। मेरे विचार से दो चीजें हैं:
त्वरित और सरल उत्तर नहीं है
जावास्क्रिप्ट काफी उच्च स्तरीय भाषा है और इस तरह की जानकारी तक पहुँच नहीं है।
नहीं, आपको जावास्क्रिप्ट में मैक पता नहीं मिल सकता है, मुख्य रूप से क्योंकि मैक पते विशिष्ट रूप से चल रहे कंप्यूटर की पहचान करता है, इसलिए यह सुरक्षा भेद्यता होगी।
अब अगर आप सभी की जरूरत है एक अद्वितीय पहचानकर्ता है, तो मेरा सुझाव है कि आप कुछ क्रिप्टोग्राफिक एल्गोरिदम का उपयोग करके खुद को बनाएं और इसे कुकी में संग्रहीत करें।
यदि आपको वास्तव में कंप्यूटर के मैक पते को जानने की आवश्यकता है और आप आंतरिक अनुप्रयोगों के लिए विकसित कर रहे हैं, तो मेरा सुझाव है कि आप ऐसा करने के लिए एक बाहरी घटक का उपयोग करें: फ़ायरफ़ॉक्स के लिए ActiveX, फ़ायरफ़ॉक्स के लिए XPCOM (एक एक्सटेंशन के रूप में स्थापित)।
यदि यह इंट्रानेट एप्लिकेशन के लिए है और सभी क्लाइंट डीएचसीपी का उपयोग करते हैं, तो आप दिए गए आईपी पते के लिए मैक पते के लिए डीएचसीपी सर्वर को क्वेरी कर सकते हैं।
मैं एक ही समस्या के लिए देख रहा था और निम्नलिखित कोड पर ठोकर खाई।
क्लाइंट मैक एड्रेस (वेब) कैसे प्राप्त करें:
क्लाइंट मैक पते को प्राप्त करने के लिए केवल हम जावास्क्रिप्ट और Microsoft के सक्रिय एक्स नियंत्रण पर भरोसा कर सकते हैं। यह केवल IE में काम करता है यदि सक्रिय एक्स IE के लिए सक्षम करता है। चूंकि ActiveXObject फ़ायरफ़ॉक्स के साथ उपलब्ध नहीं है, इसलिए यह फ़ायरफ़ॉक्स के साथ काम नहीं कर रहा है और 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>