/// <summary> /// 获取真实IP /// </summary> /// <returns></returns> public static string GetRequesterIP() { string Result = String.Empty; Result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; if (null == Result || Result == String.Empty) { Result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]; } if (null == Result || Result == String.Empty) { Result = HttpContext.Current.Request.UserHostAddress; } if (null == Result || Result == String.Empty) { return "0.0.0.0"; } return Result; } 貌似再怎么写也无法取到代理后的真实IP吧。只能取到现在所用的IP。。
{
string User_IP;
if (HttpContext.Current.Request.ServerVariables["HTTP_VIA"] != null)
{
User_IP = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
}
else
{
User_IP = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
}
return User_IP;
}
内网用户获得的是网关的ip
/// 获取真实IP
/// </summary>
/// <returns></returns>
public static string GetRequesterIP()
{
string Result = String.Empty;
Result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; if (null == Result || Result == String.Empty)
{
Result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}
if (null == Result || Result == String.Empty)
{
Result = HttpContext.Current.Request.UserHostAddress;
}
if (null == Result || Result == String.Empty)
{
return "0.0.0.0";
} return Result;
}
貌似再怎么写也无法取到代理后的真实IP吧。只能取到现在所用的IP。。