PDA

View Full Version : چگ.نه آدرس IP کاربر را بدست آوریم؟



arshia_
شنبه 21 آذر 1383, 09:38 صبح
ُسلام
چطور می توانیم آدرس کاربرانی را که از سایت ما بازدید می کنند بدست بیاوریم و در یک label نمایش دهیم.
البته یک نکته نیز مطرح است:در مکانهایی که با کمک یک NAT در شبکه داخلی اینترنت را به اشتراک می گذارند تمام کامپیوترها دارای یک آدرس آی پی EXTERNAL ثابت و آدرس INTERNAL مختلف هستند. آیا می توان آدرس داخلی آنها را نیز بدست آورد؟
و سوال آخر : چگونه می تواینم نام کامپیوتر کاربر را بدست آوریم.(‍‍Comuter Name)

Vahid_Nasiri
شنبه 21 آذر 1383, 10:29 صبح
فقط آی پی را می توان بدست آورد و نه نام کامپیوتر


public string getUserIPAddress()
{
return
HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString().Trim();
}

arshia_
شنبه 21 آذر 1383, 15:13 عصر
ممنون آقاى نصیرى
ممکنه کد VB اونو لطف کنید...
من فعلا از کدهای سی استفاده نمی کنم.

arshia_
شنبه 21 آذر 1383, 15:21 عصر
:oops:
ممنون آقای نصیری
مشکل حل شد
واقعا متشکر از بابت کمک شما

Label2.Text = HttpContext.Current.Request.ServerVariables("remote_Addr").Trim.ToString
:flower:

Behrouz_Rad
یک شنبه 29 آذر 1383, 10:57 صبح
سلام.
آقای نصیری فکر می کنم بشه نام کامپیوتر کاربر را نیز به دست آورد:


Dim S
Set S=CreateObject("WScript.Shell")
Response.Write S.ComputerName

:wise1:

Vahid_Nasiri
یک شنبه 29 آذر 1383, 15:15 عصر
نه!
این روش asp و نه asp.net روی کامپیوترهایی که از سرورهای غیرویندوزی استفاده می کنند کاربردی ندارد + کسانی که از آپدیت های امنیتی ویندوز استفاده می کنند امکان ندارد کد فوق را بتوانید روی کامپیوتر آنها اجرا کنید

+ کد بالا روی سرور اجرا می شود (برنامه نویسی سمت سرور و ایجاد شیء مذکور روی سرور) نه روی کامپیوتر کلاینت. اسم کامپیوتر سرور به چه درد شما می خورد؟

پیشترها می شد این کد را توسط جاوا اسکریپت و یا وی بی اسکریپت سمت کلاینت روی کامپیوتر کلاینت اجرا کرد ولی بدلیل مشکلات امنیتی زیادی که بوجود آورده به شدت کنترل می شود.

خلاصه ی کلام اینکه مواردی که در ServerVariables به صورت استاندارد تعریف شده اند شامل نام کامپیوتر *کلاینت* نمی شود (بدلایل زیادی منجمله حفظ حریم خصوصی افراد).

:)

Behrouz_Rad
یک شنبه 29 آذر 1383, 15:20 عصر
مرسی.
:wise1:

rezaei manesh
یک شنبه 08 دی 1387, 11:02 صبح
با سلام
من از REMOTE_ADDR استفاده می کنم اما یه مدت هست که فهمیدم برای همه جواب نمی دهد مثلا یک شبکه که از یک اینترنت شرینگ استفاده می کنه و یکسری تنطیم های دیگه هم داره که من خبر ندارم ...
هر کی از این شبکه وصل می شه یه ای پی داینامیک میگره اما با REMOTE_ADDR همه ای پی ها یکی هست؟!
در ضمن HTTP_X_FORWARDED_FOR رو هم تست کردم اما جواب خالی است چکار باید کنیم؟ در ضمن کدهای فوق را در یک ماژول استفاده می کنم