C# 用于获取用户ip地址的辅助类代码

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

这个C#类用于获取用户的访问ip地址,这个C#类可以获取通过代理服务器访问的用户的真实ip地址,同时判断ip地址的正确性,如果ip地址格式错误,将会返回1.1.1.1

namespace DotNet.Utilities
{
    /// <summary>
    /// 共用工具类
    /// </summary>
    public static class IpHelper
    {
        #region 获得用户IP
        /// <summary>
        /// 获得用户IP
        /// </summary>
        public static string GetUserIp()
        {
            string ip;
            string[] temp;
            bool isErr = false;
            if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_ForWARDED_For"] == null)
                ip = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
            else
                ip = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_ForWARDED_For"].ToString();
            if (ip.Length > 15)
                isErr = true;
            else
            {
                temp = ip.Split('.');
                if (temp.Length == 4)
                {
                    for (int i = 0; i < temp.Length; i++)
                    {
                        if (temp[i].Length > 3) isErr = true;
                    }
                }
                else
                    isErr = true;
            }
 
            if (isErr)
                return "1.1.1.1";
            else
                return ip;
        }
        #endregion
 
 
        
    }
}