C#如何通过web端获取客户端的IP,就是别人通过web访问你的网站时,服务器可以获得客户机的IP
答案:3 悬赏:40 手机版
解决时间 2021-11-27 19:25
- 提问者网友:记得曾经
- 2021-11-26 20:48
C#如何通过web端获取客户端的IP,就是别人通过web访问你的网站时,服务器可以获得客户机的IP
最佳答案
- 五星知识达人网友:狂恋
- 2021-11-26 22:16
///
/// 取得客户端真实IP地址
///
public static string IPAddress
{
get
{
string result = string.Empty;
result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (!string.IsNullOrEmpty(result))
{
//可能有代理
if (result.IndexOf(".") != -1) //没有“.”肯定是非IPv4格式
{
if (result.IndexOf(",") != -1) { return result; }
else if (IsIPAddress(result)) { return result; }//代理即是IP格式
else { result = null; }//代理中的内容 非IP,取IP
}
else { result = null; }
}
if (string.IsNullOrEmpty(result))
{
result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}
if (string.IsNullOrEmpty(result))
{
result = HttpContext.Current.Request.UserHostAddress;
}
return result;
}
}追问实际验证过吗,安全否?thankyou
/// 取得客户端真实IP地址
///
public static string IPAddress
{
get
{
string result = string.Empty;
result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (!string.IsNullOrEmpty(result))
{
//可能有代理
if (result.IndexOf(".") != -1) //没有“.”肯定是非IPv4格式
{
if (result.IndexOf(",") != -1) { return result; }
else if (IsIPAddress(result)) { return result; }//代理即是IP格式
else { result = null; }//代理中的内容 非IP,取IP
}
else { result = null; }
}
if (string.IsNullOrEmpty(result))
{
result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}
if (string.IsNullOrEmpty(result))
{
result = HttpContext.Current.Request.UserHostAddress;
}
return result;
}
}追问实际验证过吗,安全否?thankyou
全部回答
- 1楼网友:西岸风
- 2021-11-27 00:53
应该可以直接取到地址的。REMOTE_ADDR, REMOTE_HOST。环境变量。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯