首先我们需要了解Request.ServerVariables 里的一些使用说明, 这里可以查看该作者所写的Request的更多详细说明http://blog.csdn.net/chenxiang199055/article/details/7850240

通常我们需要了解以下这些使用说明:

  • Request.ServerVariables["HTTP_VIA"]  获取用户内部的IP
  • Request.ServerVariables["REMOTE_ADDR"] 获取发出请求的远程主机IP地址
  • Request.ServerVariables["HTTP_X_FORWARDED_FOR"] 获取真实客户端IP 地址 (服务器名 + 端口)
 1         /// <summary>
 2         /// 获取客户端IP
 3         /// </summary>
 4         /// <returns>客户端IP地址</returns>
 5         protected string GetClientIP()
 6         {
 7             string ip = String.Empty;
 8 
 9             if (Request.ServerVariables["HTTP_VIA"] == null ||
10                 string.IsNullOrEmpty(Request.ServerVariables["HTTP_VIA"].ToString()))
11             {
12                 ip = Request.ServerVariables["REMOTE_ADDR"].ToString();
13             }
14             else
15             {
16                 if (Request.ServerVariables["HTTP_X_FORWARDED_FOR"] == null ||
17                     string.IsNullOrEmpty(Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString()))
18                     ip = Request.ServerVariables["REMOTE_ADDR"].ToString();
19                 else
20                     ip = Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
21             }
22 
23             return ip;
24         }

 

posted on 2015-12-24 14:57  琴韵之弦  阅读(287)  评论(1编辑  收藏  举报