জাভাস্ক্রিপ্ট ম্যাক ঠিকানা


105

আমি জানি যে আমরা আইই (অ্যাক্টিভএক্স অবজেক্ট) এর মাধ্যমে কোনও ব্যবহারকারীর ম্যাক ঠিকানা পেতে পারি।

জাভাস্ক্রিপ্ট ব্যবহার করে কোনও ব্যবহারকারীর ম্যাক ঠিকানা পাওয়ার কোনও উপায় আছে?

উত্তর:


60

আমি পূর্ববর্তী সমস্ত উত্তরগুলির সাথে একমত হয়েছি যে আপনি যদি জাভাস্ক্রিপ্ট থেকে সরাসরি এটি করতে সক্ষম হন তবে এটি একটি গোপনীয়তা / সুরক্ষা দুর্বলতা হবে। আমি ভাবতে পারি এমন দুটি জিনিস রয়েছে:

  • জাভা ব্যবহার করে (স্বাক্ষরিত অ্যাপলেট সহ)
  • স্বাক্ষরিত জাভাস্ক্রিপ্ট ব্যবহার করুন যা এফএফ (এবং সাধারণভাবে মজিলা) সাধারণ জেএসের তুলনায় উচ্চতর সুযোগ-সুবিধা পায় (তবে এটি সেট আপ করা মোটামুটি জটিল)

4
আমি জানতে আগ্রহী ছিলাম, আমরা কি জাভাস্ক্রিপ্টের মাধ্যমে ম্যাক অ্যাড্রেস বা সিরিয়াল নম্বর বা ব্যবহারকারীর কাছ থেকে এর মতো কোনও অনন্য তথ্য পেতে পারি? নাকি পিসির নাম?
ফ্লামুর বেকিরাজ

57

দ্রুত এবং সহজ উত্তরটি হ'ল না is

জাভাস্ক্রিপ্ট বেশ উচ্চ স্তরের ভাষা এবং এই ধরণের তথ্যের অ্যাক্সেস নেই।


তারপরে সমস্ত গুগল অনুসন্ধান ফলাফলের বিষয়ে ম্যাক ঠিকানা পেতে নমুনা কোড সরবরাহ করে
মুন

14
আমি গুগলের চারপাশে একটি তাত্ক্ষণিক দৃষ্টি আকর্ষণ করেছি এবং আমি যে পৃষ্ঠাগুলি পড়েছি তার সবগুলিই কেবলমাত্র সমাধান যা অ্যাক্টিভএক্স অবজেক্ট ব্যবহার করার উপর নির্ভর করে। আপনি যদি অন্য কোনও লিঙ্ক পোস্ট করে পোস্ট করতে পারেন ...
গেটকিলার

27
আমি সত্যিই মনে করি না যে "উচ্চ স্তরের ভাষা" হওয়ার সাথে ম্যাকের ঠিকানাগুলির সাথে কোনও সম্পর্ক নেই, যেহেতু যে কোনও সার্ভার-সাইড প্রোগ্রামিং ভাষা আপনাকে এআরপি টেবিলটি এমনকি পরোক্ষভাবে (যেমন একটি সাবপ্রসেসের মাধ্যমে) অ্যাক্সেস করতে দেয়। আমি মনে করি "ক্লায়েন্ট-সাইড ল্যাঙ্গুয়েজ" আরও ভাল কাজ করবে ...
kirbyfan64sos

6
উচ্চ স্তরের ভাষার নিম্ন স্তরের হার্ডওয়্যার তথ্যে অ্যাক্সেস না থাকার কোনও কারণ নেই। এই ক্ষেত্রে এটি ঘটে না কারণ এটি একটি সুরক্ষা সমস্যা হবে।
nsn

33

না আপনি জাভাস্ক্রিপ্টে ম্যাক ঠিকানা পেতে পারেন না, মূলত কারণ ম্যাক ঠিকানাটি চলমান কম্পিউটারকে স্বতন্ত্রভাবে সনাক্ত করে তাই এটি একটি সুরক্ষিত দুর্বলতা হতে পারে।

এখন আপনার যদি প্রয়োজন সমস্ত একটি অনন্য শনাক্তকারী হয় তবে আমি আপনাকে কিছু ক্রিপ্টোগ্রাফিক অ্যালগরিদম ব্যবহার করে নিজেকে তৈরি করতে এবং এটি একটি কুকিতে সংরক্ষণ করার পরামর্শ দিই।

আপনার যদি কম্পিউটারের ম্যাক ঠিকানাটি সত্যই জানতে এবং আপনার অভ্যন্তরীণ অ্যাপ্লিকেশনগুলির জন্য বিকাশ করা দরকার, তবে আমি আপনাকে এটির জন্য একটি বাহ্যিক উপাদান ব্যবহার করার পরামর্শ দিই: আইআইয়ের জন্য অ্যাক্টিভেক্স, ফায়ারফক্সের জন্য এক্সপিকম (এক্সটেনশন হিসাবে ইনস্টল))


আপনি কি সাফারির জন্য কোনও বাহ্যিক উপাদান জানেন?

না। আমি আসলে একটি তৈরি করার পরামর্শ দিচ্ছিলাম।
ভিনসেন্ট রবার্ট

আপনি কীভাবে একটি অনন্য শনাক্তকারী তৈরি করার পরামর্শ দিচ্ছেন? যে কোনও ব্যবহারকারী এটির মেশিনে চালিত করে কোনও অনন্য আইডি পেয়ে যায় তার গ্যারান্টি দেওয়ার জন্য আপনি কীভাবে কোনও ক্রিপ্টোগ্রাফিক অ্যালগরিদম ব্যবহার করবেন?
মাইকেল

4
@ মিশেল উইকিপিডিয়ায় বেশ কয়েকটি ইউআইডি বাস্তবায়ন
ভিনসেন্ট রবার্ট

7

নাহ। অ্যাক্টিভএক্স এটি করতে পারে তার কারণ হ'ল অ্যাক্টিভএক্স হ'ল একটি অ্যাপ্লিকেশন যা ক্লায়েন্টের মেশিনে চলে।

আমি জাভাস্ক্রিপ্ট মাধ্যমে এই জাতীয় তথ্য অ্যাক্সেস একটি সুরক্ষা দুর্বলতা কল্পনা করব।


4

এটি যদি কোনও ইন্ট্রানেট অ্যাপ্লিকেশনের জন্য হয় এবং সমস্ত ক্লায়েন্টরা ডিএইচসিপি ব্যবহার করে থাকে তবে আপনি প্রদত্ত আইপি ঠিকানার জন্য ম্যাক ঠিকানার জন্য ডিএইচসিপি সার্ভারটি জিজ্ঞাসা করতে পারেন।


3

আমি একই সমস্যাটি খুঁজছিলাম এবং নীচের কোডে হোঁচট খেয়েছি।

ক্লায়েন্ট ম্যাকের ঠিকানা (ওয়েব) কীভাবে পাবেন:

ক্লায়েন্টের MAC ঠিকানাটি পেতে কেবলমাত্র আমরা জাভাস্ক্রিপ্ট এবং মাইক্রোসফ্টের অ্যাক্টিভ এক্স নিয়ন্ত্রণের উপর নির্ভর করতে পারি I এটি কেবলমাত্র আইইতে কাজ করে যদি অ্যাক্টিভ এক্স আইই সক্ষম করে। অ্যাক্টিভএক্সবজেক্ট ফায়ারফক্সের সাথে উপলভ্য না হওয়ায় এটি ফায়ারফক্সের সাথে কাজ করছে না এবং আইইতে কাজ করছে।

এই স্ক্রিপ্টটি কেবল আই.ই.

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>

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.