日期:2010-01-03  浏览次数:20391 次

  1. **//// <summary>  
  2. /// 最大限度获取远程用户真实IP地址  
  3. /// </summary>  
  4. /// <returns></returns>  
  5. private string GetClientIP()  
  6. ...{  
  7.      if(Request.ServerVariables["HTTP_VIA"]!=null)  
  8.     ...{  
  9.         return Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();  
  10.     }  
  11.     else 
  12.     ...{  
  13.          return Request.ServerVariables["REMOTE_ADDR"].ToString();  
  14.     }  

http代理相关知识
HTTP_X_FORWARDED_FOR
如果有该条信息, 也证明了您使用了代理服务器代理服务器的地址就是后面的数值。
需要注意的,HTTP_X_FORWARDED_FOR  的值,并不一定是只有一个IP地址,下面的信息也是可能的,每行一条记录。下面数据取材于CSDN 实际的数据。
10.194.73.11
unknown, unknown, 211.100.22.30
203.98.182.163, 203.98.182.163, 203.129.72.215
172.16.20.110, 202.116.64.196, 203.81.21.61
10.194.75.83, 10.194.73.11, 10.194.73.11, unknown
192.168.120.57, unknown, unknown, 211.10.10.195
10.2.4.211, 219.141.250.3
3.242.165.168, 218.108.22.164
unknown, 211.100.22.30
192.168.83.56, 210.21.224.233
218.94.136.176, 203.81.21.61
unknown, 210.75.1.181
10.161.196.218, 202.104.134.23
222.216.6.148, 222.216.6.146
155.161.59.47, unknown
关键就在HTTP_X_FORWARDED_FOR