/// 获得客户端IP
///
/// <returns></returns>
private string getIp()
{
// 穿过代理服务器取远程用户真实IP地址
string Ip = string.Empty;
if (Request.ServerVariables["HTTP_VIA"] != null)
{
if (Request.ServerVariables["HTTP_X_FORWARDED_FOR"] == null)
{
if (Request.ServerVariables["HTTP_CLIENT_IP"] != null)
Ip = Request.ServerVariables["HTTP_CLIENT_IP"].ToString();
else
if (Request.ServerVariables["REMOTE_ADDR"] != null)
Ip = Request.ServerVariables["REMOTE_ADDR"].ToString();
else
Ip = "202.96.134.133";
}
else
Ip = Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
}
///
/// <returns></returns>
private string getIp()
{
// 穿过代理服务器取远程用户真实IP地址
string Ip = string.Empty;
if (Request.ServerVariables["HTTP_VIA"] != null)
{
if (Request.ServerVariables["HTTP_X_FORWARDED_FOR"] == null)
{
if (Request.ServerVariables["HTTP_CLIENT_IP"] != null)
Ip = Request.ServerVariables["HTTP_CLIENT_IP"].ToString();
else
if (Request.ServerVariables["REMOTE_ADDR"] != null)
Ip = Request.ServerVariables["REMOTE_ADDR"].ToString();
else
Ip = "202.96.134.133";
}
else
Ip = Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
}
else if (Request.ServerVariables["REMOTE_ADDR"] != null)
{
Ip = Request.ServerVariables["REMOTE_ADDR"].ToString();
}
else
{
Ip = "202.96.134.133";
}
return Ip;
}
本文介绍了一种通过检查HTTP头部信息来获取客户端真实IP地址的方法,适用于穿越代理服务器的场景。文章详细展示了如何根据不同情况选择正确的HTTP头部字段来确定用户的实际IP。
285

被折叠的 条评论
为什么被折叠?



