PDA

View Full Version : بدست آوردن اطلاعات سیستم



morteza271
چهارشنبه 02 مهر 1393, 19:35 عصر
سلام دوستان.
گروه ما یه سایتی رو نوشته با ASP که این سایت در یک شبکه (بین چند شهر) که به اینترنت هم وصل نیست استفاده میشه.
یه سرور داریم که سایتمون روی اون سرور(توی مشهد) آپلود میشه و کاربرا از قسمت ها و شهرهای مختلف بهش وصل میشن و کار میکنن.

توضیح در مورد روال کاری سایت ما :
توی این سایت برای هر صفحه یک فایل با پسوند js نوشته شده که کار این فایل اینه که صفحه html رو به یه کلاس سی شارپ لینک میکنه و یه سری توابع رو فراخوانی میکنه و کلا همه امور به این صورت انجام میشه.
راستش رو بخواین من خودم زیاد ازش سردرنمیارم و نمیدونم از چه استانداردی استفاده کردن.
این سایت رو قبلا یه گروهی نوشتن رو رفتن!!!!
حالا من خودم میخوام توسعه ش بدم و زیاد با سیستم کاریش آشنا نیستم!!!
نمیدونم دوستان متوجه منظورم شدن یانه!

حالا میخوایم یه سری از اطلاعات سیستم کاربر رو بدست بیاریم و توی بانک ذخیره کنیم.
چطوری باید اینکار رو بکنیم؟ میشه لطف کنین راهنمایی کنین...

به هر حال من خودم اومدم با یه سری کد از کتابخانه System.Net.DNS اطلاعاتی از قبیل Ip، نام سیستم و ... رو بدست آوردم ولی متاسفانه وقتی روی سرور میذارم و سایت رو از روی سرور اجرا میکنم اطلاعات سیستم سرور رو میده نه سیستم کاربر رو!!!
فکر میکنم باید این اطلاعات رو توی فایل js بدست بیارم و بعد ارسال شون کنم به کلاس سی شارپ.

کسی میدونه چطوری باید این اطلاعات رو بدست بیارم؟

morteza271
پنج شنبه 03 مهر 1393, 09:55 صبح
کسی نیست کمک کنه؟

fakhravari
پنج شنبه 03 مهر 1393, 13:09 عصر
فکر کنم ایپی تغیر میکنه؟
در این صورت باید یه جدول مدیریت کاربر بزاری. و هویت موقع لاگین بدست بیاری

dehqhani
پنج شنبه 03 مهر 1393, 15:16 عصر
دوست عزیز

کد زیر ip رو از سیستم کاربر میگیره

HttpRequest request = base.Request;

// Get UserHostAddress property.
string address = request.UserHostAddress;
Label1.Text = address;

morteza271
پنج شنبه 03 مهر 1393, 16:08 عصر
فکر کنم ایپی تغیر میکنه؟
در این صورت باید یه جدول مدیریت کاربر بزاری. و هویت موقع لاگین بدست بیاری
ممنونم دوست عزیز منم همین کار رو کردم فقط اینکه چطوری اطلاعات سیستم کاربر رو بگیرم.
با کد سی شارپ این کار رو کردم ولی اطلاعات سرور رو میده!!!
اینم کدی که الان دارم :
IPHostEntry host = Dns.GetHostEntry(txtSystemName.Text);
ولی این کد IP سرور رو میده نه سیستم کاربر رو.

چطوری میتونم اطلاعات سیستم کاربر از قبیل IP، Comuter Name، ,UserName و MAc رو بدست آورد؟

morteza271
پنج شنبه 03 مهر 1393, 16:10 عصر
دوست عزیز

کد زیر ip رو از سیستم کاربر میگیره

HttpRequest request = base.Request;

// Get UserHostAddress property.
string address = request.UserHostAddress;
Label1.Text = address;

ممنونم دوست عزیز.
بقیه اطلاعات رو چطوری میشه بدست آورد :
نام سیستم کاربر
نام کاربر ویندوز کاربر
مک آدرس سیستم کاربر

ممنون میشم کد اینها رو هم بدین...

fakhravari
پنج شنبه 03 مهر 1393, 17:36 عصر
ممنونم دوست عزیز منم همین کار رو کردم فقط اینکه چطوری اطلاعات سیستم کاربر رو بگیرم.
با کد سی شارپ این کار رو کردم ولی اطلاعات سرور رو میده!!!
اینم کدی که الان دارم :
IPHostEntry host = Dns.GetHostEntry(txtSystemName.Text);
ولی این کد IP سرور رو میده نه سیستم کاربر رو.

چطوری میتونم اطلاعات سیستم کاربر از قبیل IP، Comuter Name، ,UserName و MAc رو بدست آورد؟



اطلاعات سیستم نمیتونید در بیارین
جدول بسازین - ثبتنام - ورود کاربر

morteza271
پنج شنبه 03 مهر 1393, 20:58 عصر
اطلاعات سیستم نمیتونید در بیارین
جدول بسازین - ثبتنام - ورود کاربر


1- مهندس این حرف رو نزنین یعنی چی نمیشه؟؟؟؟؟؟؟ پس این همه سایت که وقتی وارد سایت شون میشی میگن آخرین بار با چه IP وارد شدی چیکار کردن؟؟؟؟
2- یعنی چی جدول بسازم؟؟؟

من الان سایتم ثبت نام کاربر داره و کاربرا با رمز و نام کاربری مخصوص خودشون وارد میشن.
من فقط میخوام وقتی یه کاربر وارد میشه اطلاعات سیستم ش رو ذخیره کنم. برای جلوگیری و پیگیری افرادی که قصد ورود غیرمجاز دارند.
حالا متوجه منظورم شدین؟؟؟؟!!!!!!!!

fakhravari
پنج شنبه 03 مهر 1393, 21:29 عصر
شما سوال خودتو پیجوندی
همون ip کفایت میکنه.

ip کلاینت میتونی بدست بیاری

morteza271
پنج شنبه 03 مهر 1393, 22:55 عصر
شما سوال خودتو پیجوندی
همون ip کفایت میکنه.

ip کلاینت میتونی بدست بیاری



مهندس ببخشید ها ولی چرا اینطوری پاسخ میدین!
یا درست پاسخ بدین یا اینکه اصلا بی خیال شین آقا !!!

شما چیکار دارین که چی کفایت میکنه یا نه!
من میخوام اون اطلاعات بالا رو داشته باشم! اصلا شما فکر کنین من مریضم ولی اون موارد رو میخوام....

پس لطفا اگه میخواین به تایپیکی پاسخ بدین درست و حسابی پاسخ بدین.
نه اینکه 4 تا پست گذاشتین ولی یکی هم بدردبخور نبود!!! ولی دوست دیگه مون یه دونه گذاشتن و توی اونم یه نمونه کد معرفی کردن.
حالا خودتون قضاوت کنین کدوم بهتره؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

قصد بی احترامی نداشتم ولی با اینطور پاسخ دادن شما فقط وقت کاربر سوال کننده رو میگیرین...
شرمنده که تند انتقاد کردم...
موفق باشید

پیام حیاتی
پنج شنبه 03 مهر 1393, 23:41 عصر
سلام
یه برنامه ای هست به نام javascript editor که توی توابعش آی پی ، نوع مرورگر و یه سری اطلاعات دیگه کاربر رو میگیره و نمایش میده اما نمیدونم چطور میتونید با سی شارپ اطلاعات رو ذخیره کنید.امیدوارم به کارتون بیاد.سواد ما هم در همین حد :لبخند:

123897

dehqhani
جمعه 04 مهر 1393, 07:19 صبح
دوست عزیز با این تکه کدها هم یکسری اطلاعات از مرورگر میتونی بگیری
بقیه چیزهایی که خواستی رو بزار یه وقت دیگه بهت میگم الان حضور ذهن ندارم کجا گذاشتمشون

System.Web.HttpBrowserCapabilities browser = Request.Browser;
string s = "Browser Capabilities\n"
+ "Type = " + browser.Type + "\n"
+ "Name = " + browser.Browser + "\n"
+ "Version = " + browser.Version + "\n"
+ "Major Version = " + browser.MajorVersion + "\n"
+ "Minor Version = " + browser.MinorVersion + "\n"
+ "Platform = " + browser.Platform + "\n"
+ "Is Beta = " + browser.Beta + "\n"
+ "Is Crawler = " + browser.Crawler + "\n"
+ "Is AOL = " + browser.AOL + "\n"
+ "Is Win16 = " + browser.Win16 + "\n"
+ "Is Win32 = " + browser.Win32 + "\n"
+ "Supports Frames = " + browser.Frames + "\n"
+ "Supports Tables = " + browser.Tables + "\n"
+ "Supports Cookies = " + browser.Cookies + "\n"
+ "Supports VBScript = " + browser.VBScript + "\n"
+ "Supports JavaScript = " +
browser.EcmaScriptVersion.ToString() + "\n"
+ "Supports Java Applets = " + browser.JavaApplets + "\n"
+ "Supports ActiveX Controls = " + browser.ActiveXControls
+ "\n"
+ "Supports JavaScript Version = " +
browser["JavaScriptVersion"] + "\n";
Label1.Text=s;

dehqhani
جمعه 04 مهر 1393, 07:57 صبح
کد نمایش نام کامپیوتر
Label1.Text = System.Net.Dns.GetHostEntry(Request.ServerVariable s["remote_addr"]).HostName;

ahmad156
جمعه 04 مهر 1393, 09:08 صبح
دوست عزیز
استفاده از IP یا MAC روش مناسبی نیست چون IP مطمئناً متغیره یا شاید IP دو کاربر یکی باشه در مورد MAC هم امکان داره کاربر از یه سیستم دیگه وارد بشه.در ضمن مطمئناً این مسئله نیز مطرح هست که نباید همه به این شبکه دسترسی داشته باشن.بهترین روش استفاده از VPN هست که به ازای هر شخص یه VPN درست بشه و اطلاعاتش از اون طریق ثبت شده باشه.
در هر صورت اگر نیاز به ثبت IP بود بهترین روش استفاده از تابع زیر هست.

public static string GetIPAddress()
{
HttpContext context = HttpContext.Current;
string ipAddress = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

if (!string.IsNullOrEmpty(ipAddress))
{
string[] addresses = ipAddress.Split(',');
if (addresses.Length != 0)
{
return addresses[0];
}
}

return context.Request.ServerVariables["REMOTE_ADDR"];
}

fakhravari
جمعه 04 مهر 1393, 09:19 صبح
اطلاعات شما کافی نیست.
کمی فکر کنید روی جواب های من نه اینکه بی فکر کردن همین طوری ج بدین

شما وقتی میگید اطلاعات سیستم میخواهید > من میگم هیچ اطلاعاتی از سیستم نمیتونیدMAc,Comuter Name به جز ip کلاینت
وقتی میگید این سایتا چطوری اعتبار کاربراشون میگیرن > من میگم زمان ورود کاربر هویت مشخص میشه پس از جدول ثبتانم میان UserName





و من الله توفیقا

morteza271
جمعه 04 مهر 1393, 09:27 صبح
دوستان عزیز بابت کدها و راهنمایی هاتون ممنونم.

الان به سورس دسترسی ندارم ایشا... فردا کدها رو تست میکنم و ایشا... درست میشه. بازم ممنونم...

morteza271
جمعه 04 مهر 1393, 09:28 صبح
دوست عزیز
استفاده از IP یا MAC روش مناسبی نیست چون IP مطمئناً متغیره یا شاید IP دو کاربر یکی باشه در مورد MAC هم امکان داره کاربر از یه سیستم دیگه وارد بشه.در ضمن مطمئناً این مسئله نیز مطرح هست که نباید همه به این شبکه دسترسی داشته باشن.بهترین روش استفاده از *** هست که به ازای هر شخص یه *** درست بشه و اطلاعاتش از اون طریق ثبت شده باشه.
در هر صورت اگر نیاز به ثبت IP بود بهترین روش استفاده از تابع زیر هست.

ممنونم دوست عزیز.
منظورتون رو از *** متوجه نشدم! میشه لطف کنین و بیشتر توضیح بدین.

morteza271
جمعه 04 مهر 1393, 09:35 صبح
دوست عزیز جناب fakhravari :


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



شما وقتی میگید اطلاعات سیستم میخواهید > من میگم هیچ اطلاعاتی از سیستم نمیتونیدMAc,Comuter Name به جز ip کلاینت
من یه سایت دیگه دقیقا مشابه با سایت خودم دیدم که دقیقا روال کاریشون یکی هست و دقیقا اطلاعاتی که میگم رو میگیره و ذخیره میکنه!
یعنی چی نمیشه؟ پس اونا از کجا نام کامپیوتر و مک آدرس سیستم کاربر وارد شده رو ذخیره میکنن؟؟؟؟
میشه لطف کنین من رو روشن کنین که اونا چیکار کردن اگه نمیشه؟؟؟



وقتی میگید این سایتا چطوری اعتبار کاربراشون میگیرن > من میگم زمان ورود کاربر هویت مشخص میشه پس از جدول ثبتانم میان UserName
من دارم میگم ثبت نام کاربر دارم و کاربر با نام کاربری و رمز عبور مخصوص خودشون وارد میشن و مشکلی از نظر هویت کاربرا ندارم.
فقط میخوام ثبت کنم که هر کاربر از چه سیستمی وارد شده. تا در مواقع لزوم ازش استفاده کنم....

من توصیه میکنم این تایپیک رو از اول به طور دقیق مطالعه کنین. بعد خودتون رو جای من بذارین و ببینید واقعا متوجه میشین خودتون چی گفتین و منظورتون چی هست؟؟؟
اونقدر جملاتتون کوتاه و نصفه هست که باید چندبار بخونی ........

موفق باشید

fakhravari
جمعه 04 مهر 1393, 09:42 صبح
عزیز دل برادر وقتی هویت کاربر مشخصه چرا کار خودت میپیچونی.
در کل اگه امینت insert , update delete برات مهمه وقتی نام کاربر داری چیکار به ip داری.
یه جدول لاگ بساز هر موردی میخوای سیو کن

morteza271
جمعه 04 مهر 1393, 09:58 صبح
عزیز دل برادر وقتی هویت کاربر مشخصه چرا کار خودت میپیچونی.
در کل اگه امینت insert , update delete برات مهمه وقتی نام کاربر داری چیکار به ip داری.
یه جدول لاگ بساز هر موردی میخوای سیو کن
می بینید مهندس شما اصلا به چیزی که من میخوام کاری ندارین و فقط حرف خودتون رو میزنین.
شما فکر کنین مدیر پروژه از من خواسته و باید انجام بشه.
پس لزومی نداره به من بگین کارم درسته یا غلط چون کاری که میخوام بکنم برای امنیت لازمه و مطمئن هستم که لازمه وگرنه منم مریض نیستم کار الکی انجام بدم.
لطف کنین دیگه الکی پست نذارین.
موفق باشید

fakhravari
جمعه 04 مهر 1393, 10:09 صبح
عزیز دل قربون دست نتیجه رسیدی ما هم خبر کن.

ahmad156
جمعه 04 مهر 1393, 10:29 صبح
وی*پی*ان همون وی*پی*ان هست که به جای ف*ی*ل*ت*ر*ش*ک*ن استفاده میکنن.یه نوع کانکشن هست که شما را به یه سرور یا شبکه متصل میکنه.حالا اون وی*پی*ان شما رو به سروری متصل میکنه که متصل هست به اینترنتی که چیزی فیلتر نمیشه این وی*پی*ان شما رو متصل میکنه به سرور یا شبکه ای که مدنظرتون هست.کارکرد دو تاش یکی هست:لبخند:.

dehqhani
شنبه 05 مهر 1393, 06:38 صبح
نظر دوستمونahmad156 (http://barnamenevis.org/member.php?143716-ahmad156) هم خوبه
من تو یکی از شرکتها .نرمافزاری که پیاده کردم از همین روش v-p-n استفاده کردم
و هرکاربر که بخواد وارد سیستم بشه باید اول v-p-n بزنه بعد میتونه به نرم افزار دسترسی داشته باشه و طوری تنظیم کردم که موقع لاگین کردن تمام این موارد در یه جدول مجزا لاگ گیری میشه حتی ساعت و دقیقه لاگ . این روش در حال حاضر کار من رو راه میندازه و اززش راضی ام

morteza271
دوشنبه 07 مهر 1393, 18:45 عصر
از همه دوستانی که وقت گذاشتن و کمک کردن واقعا ممنونم.

دوستان من با استفاده از دوستورات زیر نام و IP سیستم کاربر رو بدست آوردم و درست هم جواب داد. حتی وقتی که سایت رو روی سرور آپلود کردم هم درست جواب داد.
HttpContext context = HttpContext.Current;
string strComputerName = context.Request.ServerVariables["REMOTE_ADDR"];

System.Net.Dns.GetHostEntry(strComputerName);

واقعا ممنونم ازتون.
حالا کدی دارین که بتونم کاربر لوگین شده ی ویندوز و مک آدرس سیستم رو بدست بیارم.
همچنین اگه کدی برای پیدا کردن نوع ویندوز و کلا سایر اطلاعات ویندوز دارین ممنون میشم در اختیارم قرار بدین.

با تشکر فراوان...

morteza271
چهارشنبه 09 مهر 1393, 20:05 عصر
دوستان من به جای REMOTE_ADDR یه سری کلمات دیگه گذاشتم ولی هیچکدوم کاربر ویندوز و سایر اطلاعات مفید رو ندادند.
در حالتی که بر روی لوکال تست میکنم کاربر ویندوز رو درست میده ولی همین که روی سرور قرار میگیره دیگه خالی برمیگردونه!

کسی میتونه کمک کنه و بگه چطوری میتونم کاربر ویندوز و مک آدرس رو بدست بیارم؟

fakhravari
چهارشنبه 09 مهر 1393, 21:42 عصر
دوستان من به جای REMOTE_ADDR یه سری کلمات دیگه گذاشتم ولی هیچکدوم کاربر ویندوز و سایر اطلاعات مفید رو ندادند.
در حالتی که بر روی لوکال تست میکنم کاربر ویندوز رو درست میده ولی همین که روی سرور قرار میگیره دیگه خالی برمیگردونه!

کسی میتونه کمک کنه و بگه چطوری میتونم کاربر ویندوز و مک آدرس رو بدست بیارم؟

عزیز دل برادر گشتم نبود نگرد نیست.



کاربر ویندوز و مک آدرس

morteza271
چهارشنبه 09 مهر 1393, 22:00 عصر
عزیز دل برادر گشتم نبود نگرد نیست.



کاربر ویندوز و مک آدرس


دوست عزیز چند روز پیش شما میگفتین فقط میشه IP رو بدست آورد ولی بدونین که نام سیستم و کلی اطلاعات دیگه رو میشه درآورد.
و تا الان فقط این دو مورد برای من باقی موندن.
اینم بگم مطمئن هستم راهی داره چون یه سایت دیگه دیدم که ذخیره میکنه ولی چطوری دنبالش هستم...
پس لطفا به جای موج منفی دادن راهنمایی کنین...
موفق باشید

Mousavmousab
پنج شنبه 10 مهر 1393, 20:37 عصر
نام کامپیوتر Client اینطوریه دیگه :



HttpContext context = HttpContext.Current;
string strComputerName = context.Request.ServerVariables["REMOTE_ADDR"];

string str= System.Net.Dns.GetHostEntry(strComputerName).HostN ame;
Page.Title = str;

morteza271
شنبه 12 مهر 1393, 16:45 عصر
نام کامپیوتر Client اینطوریه دیگه :



HttpContext context = HttpContext.Current;
string strComputerName = context.Request.ServerVariables["REMOTE_ADDR"];

string str= System.Net.Dns.GetHostEntry(strComputerName).HostN ame;
Page.Title = str;


ممنونم دوست عزیز.
ولی من توی پست های قبلی گفتم که نام کامپیوتر و IP رو بدست آوردم و الان برای بدست اوردن نام کاربر ویندوز سیستم کاربر و مک آدرس اون دنبال راه حل هستم؟
کسی هیچ ایده ای نداره؟؟؟