这个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
}
}
