PDA

View Full Version : سوال: کمک بدست اوردن ایپی درست



hosseinrahmatei
یک شنبه 07 شهریور 1389, 15:29 عصر
سلام بر همه برنامه نویسان
دوستان من برای بدست اوردن ایپی کاربر از کد زیر استفاده می کنم

Dim ip As String
ip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If String.IsNullOrEmpty(ip) Then
ip = Request.ServerVariables("REMOTE_ADDR")
End If
Response.Write(ip)
این کد اگر کاربر بدون f+i+l+t+e+r s+h+e+k+a+n وارد سایت بشه درسته

حالا اگر کاربر با proxy وارد سایت بشه هم باید ایپی این درست بده چون HTTP_X_FORWARDED_FOR تشخیص می دهد که ایا کاربر با پروکسی یا نه اگر بود ایپی واقعی کاربر را برمی گرداند (من هر جا خوندم اینطوری نوشته بود)
ولی وقتی تست می کنم درست انجام نمیده :گریه::عصبانی:
اینم ادرس صفحه ای که این کد رو تست می کنم
http://www.rahmatei.somee.com
ممنون می شم راهنماییم کنید

Ali_M.Eghbaldar
یک شنبه 07 شهریور 1389, 16:07 عصر
سلام

public partial class ("Ur WebForm Name") : System.Web.UI.Page
{
public string ip; public string page;
public string BROWSER;protected void Page_Load(object sender, EventArgs e) {
}
protected void Button1_Click(object sender, EventArgs e) {
ip = Request.ServerVariables["REMOTE_ADDR"]; page = Request.ServerVariables["HTTP_REFERER"];
if (Request.ServerVariables["HTTP_USER_AGENT"].Contains("MSIE")) {
BROWSER = "INTERNET EXPLORER"; }
else if (Request.ServerVariables["HTTP_USER_AGENT"].Contains("FireFox")) {
BROWSER = "FIRE FOX"; }
else if (Request.ServerVariables["HTTP_USER_AGENT"].Contains("Opera")) {
BROWSER = "OPERA"; }
Label1.Text = "" + ip; Label2.Text = "" + page;
Label3.Text = "" + BROWSER;
}

}

hosseinrahmatei
یک شنبه 07 شهریور 1389, 16:27 عصر
سلام

publicpartialclass ("Ur WebForm Name") : System.Web.UI.Page
{
publicstring ip;publicstring page;
publicstring BROWSER;protectedvoid Page_Load(object sender, EventArgs e) {
}
protectedvoid Button1_Click(object sender, EventArgs e) {
ip = Request.ServerVariables["REMOTE_ADDR"];page = Request.ServerVariables["HTTP_REFERER"];
if (Request.ServerVariables["HTTP_USER_AGENT"].Contains("MSIE")) {
BROWSER = "INTERNET EXPLORER"; }
elseif (Request.ServerVariables["HTTP_USER_AGENT"].Contains("FireFox")) {
BROWSER = "FIRE FOX"; }
elseif (Request.ServerVariables["HTTP_USER_AGENT"].Contains("Opera")) {
BROWSER = "OPERA"; }
Label1.Text = "" + ip;Label2.Text = "" + page;
Label3.Text = "" + BROWSER;
}

}

دوست عزیز شما ماشالله کل Servervaribles ریختی بیرون من فقط ایپی خواستم
و این ServerVariables["REMOTE_ADDR"] که شما نوشتی برای موقعی درست کار میکنه که کاربر از proxy server استفاده نکنه. حالا اگر کاربر از proxy استفاده کرد چی . من سرچ کردم و
Request.ServerVariables("HTTP_X_FORWARDED_FOR") پیدا کردم . وقتی که کاربر از پروکسی استفاده می کنه را تشخیص می ده و ایپی واقعی کاربر را نمایش می دهد
ولی متاسفانه درست کار نمی کنه و دوباره ایپی proxy میده :گریه:
لینک ادرسم بالا گذاشتم اگه لطف کنید و امتحان کنید که ببینید که ایپی را با پروکسی و بدون پروکسی درست می ده ممنون می شم