0
我從ASP.NET獲取客戶端IP地址。但某些客戶端IP地址收到127.0.0.1。 什麼是問題。如何獲得有效的客戶端IP地址?錯誤的客戶端IP地址
我正在使用此代碼:
public static string GetIP()
{
string clientIp = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (!string.IsNullOrEmpty(clientIp))
{
string[] forwardedIps = clientIp.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
clientIp = forwardedIps[forwardedIps.Length - 1];
}
if (string.IsNullOrEmpty(clientIp))
clientIp = HttpContext.Current.Request.ServerVariables["HTTP_CLIENT_IP"];
if (string.IsNullOrEmpty(clientIp))
clientIp = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
return clientIp.ToString();
}
127.0.0.1是本地主機地址,我想你是從它託管的同一臺計算機連接到頁面? –
只是一個猜測?但可能是代理問題。看看http://stackoverflow.com/questions/7445592/what-is-the-difference-between-http-client-ip-and-http-x-forwarded-for – sircapsalot
sircapsolat,我想是的。但我找不到如何解決。 –