जावास्क्रिप्ट में मैक पते

मुझे पता है कि हम आईई (ActiveX ऑब्जेक्ट्स) के माध्यम से किसी उपयोगकर्ता का मैक पता प्राप्त कर सकते हैं।

जावास्क्रिप्ट का उपयोग कर उपयोगकर्ता के मैक पते को प्राप्त करने का कोई तरीका है?

0
जोड़ा संपादित
विचारों: 2

6 उत्तर

नहीं, आप जावास्क्रिप्ट में मैक पता नहीं प्राप्त कर सकते हैं, मुख्य रूप से क्योंकि मैक पता विशिष्ट रूप से चल रहे कंप्यूटर की पहचान करता है, इसलिए यह एक सुरक्षा भेद्यता होगी।

अब यदि आपको केवल एक अद्वितीय पहचानकर्ता की ज़रूरत है, तो मेरा सुझाव है कि आप कुछ क्रिप्टोग्राफिक एल्गोरिदम का उपयोग करके स्वयं को बनाएं और इसे कुकी में स्टोर करें।

यदि आपको वास्तव में कंप्यूटर के मैक पते को जानने की आवश्यकता है और आप आंतरिक अनुप्रयोगों के लिए विकास कर रहे हैं, तो मेरा सुझाव है कि आप ऐसा करने के लिए बाहरी घटक का उपयोग करें: IE के लिए ActiveX, फ़ायरफ़ॉक्स के लिए XPCOM (एक्सटेंशन के रूप में स्थापित)।

0
जोड़ा
नहीं। मैं वास्तव में एक बनाने का सुझाव दे रहा था।
जोड़ा लेखक Vincent Robert, स्रोत
@ माइकल विकिपीडिया में कई UUID कार्यान्वयन सूचीबद्ध हैं
जोड़ा लेखक Vincent Robert, स्रोत
आप एक अद्वितीय पहचानकर्ता बनाने का सुझाव कैसे दे रहे हैं? आप क्रिप्टोग्राफिक एल्गोरिदम का उपयोग कैसे गारंटी देते हैं कि यह सुनिश्चित करने के लिए कि कभी भी उपयोगकर्ता जो मशीन पर चलता है वह एक अद्वितीय आईडी प्राप्त करता है?
जोड़ा लेखक Michael, स्रोत

त्वरित और सरल उत्तर संख्या है

जावास्क्रिप्ट काफी उच्च स्तर की भाषा है और इस तरह की जानकारी तक पहुंच नहीं है।

0
जोड़ा
मैंने Google के चारों ओर एक त्वरित रूप से देखा है और मैंने पढ़े गए सभी पृष्ठ आईई केवल समाधान थे जो ActiveX ऑब्जेक्ट्स का उपयोग करने पर निर्भर थे। यदि आप अन्यथा दिखाए गए लिंक पोस्ट कर सकते हैं ...
जोड़ा लेखक GateKiller, स्रोत
तो मैक पते प्राप्त करने के लिए नमूना कोड प्रदान करने वाले सभी Google खोज परिणाम के बारे में क्या
जोड़ा लेखक Moon, स्रोत
मुझे सच में नहीं लगता कि "उच्च स्तरीय भाषा" होने के कारण मैक पते के साथ कुछ भी करना है, क्योंकि किसी भी सर्वर-साइड प्रोग्रामिंग भाषा से आप एआरपी तालिका तक पहुंच सकते हैं, यहां तक ​​कि परोक्ष रूप से (उदा। एक उपप्रोसेसर के माध्यम से)। मुझे लगता है कि "क्लाइंट-साइड भाषा" बेहतर काम करेगी ...
जोड़ा लेखक kirbyfan64sos, स्रोत
ऐसा कोई कारण नहीं है कि उच्च स्तरीय भाषा में निम्न स्तर की हार्डवेयर जानकारी तक पहुंच न हो। इस मामले में ऐसा नहीं होता क्योंकि यह एक सुरक्षा समस्या होगी।
जोड़ा लेखक nsn, स्रोत

नहीं। ActiveX ऐसा कर सकता है क्योंकि ActiveX एक छोटा सा एप्लीकेशन है जो क्लाइंट की मशीन पर चलता है।

मैं कल्पना करता हूं कि जावास्क्रिप्ट के माध्यम से ऐसी जानकारी तक पहुंच सुरक्षा भेद्यता होगी।

0
जोड़ा

यदि यह इंट्रानेट एप्लिकेशन के लिए है और सभी क्लाइंट DHCP का उपयोग करते हैं, तो आप किसी दिए गए आईपी पते के लिए मैक पते के लिए DHCP सर्वर से पूछ सकते हैं।

0
जोड़ा
मैं उसे कैसे कर सकता हूँ?
जोड़ा लेखक Bardo91, स्रोत

मैं पिछले सभी उत्तरों के साथ सहमत हूं कि यह गोपनीयता / सुरक्षा भेद्यता होगी यदि आप सीधे जावास्क्रिप्ट से ऐसा करने में सक्षम होंगे। दो चीजें हैं जिनके बारे में मैं सोच सकता हूं:

  • जावा का उपयोग (एक हस्ताक्षरित एप्लेट के साथ)
  • हस्ताक्षरित जावास्क्रिप्ट का उपयोग करना, जो एफएफ (और सामान्य रूप से मोज़िला) में सामान्य जेएस की तुलना में उच्च विशेषाधिकार प्राप्त करता है (लेकिन यह सेट अप करने के लिए काफी जटिल है)
0
जोड़ा

मैं एक ही समस्या की तलाश में था और निम्नलिखित कोड पर ठोकर खाई।

क्लाइंट मैक पता कैसे प्राप्त करें (वेब):

क्लाइंट मैक पता प्राप्त करने के लिए हम केवल माइक्रोसॉफ्ट के जावास्क्रिप्ट और सक्रिय एक्स नियंत्रण पर भरोसा कर सकते हैं। आईई के लिए सक्रिय एक्स सक्षम होने पर यह केवल आईई में काम करता है। चूंकि ActiveXObject फ़ायरफ़ॉक्स के साथ उपलब्ध नहीं है, यह फ़ायरफ़ॉक्स के साथ काम नहीं कर रहा है और आईई में ठीक काम कर रहा है।

यह स्क्रिप्ट केवल आईई के लिए है:

<script language="javascript" type="text/javascript">
    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;
    }
</script>
0
जोड़ा