تالار گفتمان مانشت

نسخه‌ی کامل: کمکککککککککک چطور Mac Address کلاینت ها و نه سرور رو بدست بیارم؟
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام بچه ها
لطفا اگر کسی می تونه کمکم کنه که خیلی گیرم...
ی برنامه وب دارم که باید تک تک سیستم ها رو به صورت منحصر به فرد بشناسه...
می تونم IP کلاینت رو بدست بیارم ولی این به دردم نمی خوره چون IP، ثابت نیست و در هر بار اتصال به شبکه یا اگر به صورت Automatic باشه، می تونه تغییر کنه. به ی چیزی مثل Mac Address کلاینت ها ( و نه سرور (Mac Address سرور را می تونم با C# بگیرم ولی مال کلاینت رو می خوام)) نیاز دارم و یا چیزی شبیه Mac Address که به ازای هر کامپیوتر اولا در دنیا منحصر به فرد باشه و دوم اینکه هیچوقت تغییر نکند و ثابت باشه.
کسی راه حلی داره؟

مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.

چیزی به جز کوکی و سشن و ای پی نداری... با همینا باید یه کاری بکنی...
------
یه سرچی کردم... ملت با اپلت جاوا و فلش و اینا مک ادرس گیر اوردن... شاید با جاوا اسکریپت هم بشه...
(02 خرداد 1393 03:52 ب.ظ)Amoojan نوشته شده توسط: [ -> ]
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.

چیزی به جز کوکی و سشن و ای پی نداری... با همینا باید یه کاری بکنی...
------
یه سرچی کردم... ملت با اپلت جاوا و فلش و اینا مک ادرس گیر اوردن... شاید با جاوا اسکریپت هم بشه...



مرسی دوست عزیز
بله با جاوااسکریپت و کوکی می شه ولی هیچ کدوم به درد من نمی خوره
جاواسکریپت ClientSide ست و به هیچ وجه به لحاظ امنیتی درست نیست که به اطلاعات و منابع سیستم دسترسی داشته باشه و خب البته نداره. برای جاوااسکریپت باید از ActiveX استفاده کنم. که کاربر باید اجازه نصب Activex من رو روی کلاینتش بده و اگر اجازه نده، کاری از دستم برنمی یاد و نمی تونم به اطلاعات کلاینتش دسترسی داشته باشم.
در مورد کوکی ها هم همین مشکل وجو دارد. کاربر می تونه از طریق Browser ش کوکی ها رو غیرفعال کنه . بازم من نمی تونم کاری انجام بدم !
باید ی روش ServerSide برای این کار پیدا کنم.
به هرحال ممنون از جوابتون.
شما نمیتونید به این دسترسی داشته باشید مگر با استفاده از برنامه‌نویسی سمت کاربر با راهکارهایی مثل جاوااسکریپت.
استفاده از راهکار Javascript هم منهای امن و... میتونه به سادگی توسط کابر غیرفعال بشه. البته باز راه حل‌های کنترلی میتونه پیدا بشه. اما اطمینان زیادی به نظرم نمیشه داشت. چون دنبال یک راه حل مطمئن هستیم دیگه...

برنامه‌نویسی سمت سرور روی سرور اجرا میشه و نتایج بر اساس محاسبات روی سرور هست.
(03 خرداد 1393 02:13 ب.ظ)mohammad-a نوشته شده توسط: [ -> ]شما نمیتونید به این دسترسی داشته باشید مگر با استفاده از برنامه‌نویسی سمت کاربر با راهکارهایی مثل جاوااسکریپت.
استفاده از راهکار Javascript هم منهای امن و... میتونه به سادگی توسط کابر غیرفعال بشه. البته باز راه حل‌های کنترلی میتونه پیدا بشه. اما اطمینان زیادی به نظرم نمیشه داشت. چون دنبال یک راه حل مطمئن هستیم دیگه...

برنامه‌نویسی سمت سرور روی سرور اجرا میشه و نتایج بر اساس محاسبات روی سرور هست.


جوینده یابنده ست!
چند راه حل پیدا کردم که یکیشون به احتمال بیشتر از 90% جواب میده.. فقط ی مشکل داره . اینکه صرفا به درد ویندوز می خوره نه هیچ سیستم عامل دیگه ای. ولی خب برای من فعلا کافیه ایران همه ویندوز دارن دیگه!Big Grin
میشه راه حلتان را توضیح بدید شاید مشکل شما مشکل دیگران هم باشد.
(06 خرداد 1393 03:08 ب.ظ)rad.bahar نوشته شده توسط: [ -> ]میشه راه حلتان را توضیح بدید شاید مشکل شما مشکل دیگران هم باشد.



باورکنید الان خیلی سرم شلوغه و درگیر کار دیگه ای هستم. ضمن اینکه راه حل هام فقط احتمالی هستند. اجازه بدید تست که کردم، اگه تیجه گرفتم، چشم... توضیح می دم براتون ... اگرهم نه که! خب نتیجه نگرفتم دیگهSad
ولی خب اعتقاد دارم که هر مساله ای راه حلی داردRolleyes بنابراین سعی می کنم پیداش کنم
سلام چند راه وجود داره

1:

کد:
public string GetMACAddress()
{
    NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
    String sMacAddress = string.Empty;
    foreach (NetworkInterface adapter in nics)
    {
        if (sMacAddress == String.Empty)// only return MAC Address from first card  
        {
            IPInterfaceProperties properties = adapter.GetIPProperties();
            sMacAddress = adapter.GetPhysicalAddress().ToString();
        }
    } return sMacAddress;
}

2:

کد:
public string GetMACAddress()
{
    ManagementObjectSearcher objMOS = new ManagementObjectSearcher("Win32_NetworkAdapterConfiguration");
    ManagementObjectCollection objMOC = objMOS.Get();
    string MACAddress = String.Empty;
    foreach (ManagementObject objMO in objMOC)
    {
        if (MACAddress == String.Empty) // only return MAC Address from first card  
        {
            MACAddress = objMO["MacAddress"].ToString();
        }
        objMO.Dispose();
    }
    MACAddress = MACAddress.Replace(":", "");
    return MACAddress;
}


3: این روش فقط با IE کار میکنه

کد:
<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>


good luck
الان اینا هرکدوم به چه زبونیه؟!
(07 شهریور 1393 05:36 ب.ظ)Amoojan نوشته شده توسط: [ -> ]الان اینا هرکدوم به چه زبونیه؟!
اگر دقت کنید این سوال در زیر انجمن ASP.NET پرسیده شده است.
(07 شهریور 1393 05:55 ب.ظ)rad.bahar نوشته شده توسط: [ -> ]
(07 شهریور 1393 05:36 ب.ظ)Amoojan نوشته شده توسط: [ -> ]الان اینا هرکدوم به چه زبونیه؟!
اگر دقت کنید این سوال در زیر انجمن ASP.NET پرسیده شده است.
بسیار عالی ممنون. Smile
لینک مرجع