获取客户端ip并用正则表达式验证

代理HTTP_VIA

  /// <summary>
/// 获得请求的ip
/// </summary>
/// <returns></returns>
public static string GetIP()
{
string ip = string.Empty;
if (HttpContext.Current.Request.ServerVariables["HTTP_VIA"] != null)
ip = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
else
ip = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString(); if (string.IsNullOrEmpty(ip) || !ValidateHelper.IsIP(ip))
ip = "127.0.0.1";
return ip;
}

验证ip

  /// <summary>
/// 是否为IP
/// </summary>
public static bool IsIP(string s)
{
return _ipregex.IsMatch(s);
} //IP正则表达式
private static Regex _ipregex = new Regex(@"^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$");
上一篇:阿里云提示WordPress“/wp-includes/http.php输入IP验证不当”的解决办法


下一篇:PHP 验证IP的合法性