.NET 服务端获取客户端真实ip

223
补充展位
Pages_Weblog_Get#728a63e0-8c81-46fc-9f4e-a93b7872df54
文章摘要
此内容由人工摘要内容,并由AI根据文章内容进行润色
暂无内容

.NET 服务端如何透过网络代理IP获取到客户端真实ip

一般情况下 .net web服务端可以通过 Request.Url.Host或者 ServerVariables("REMOTE_ADDR") 来获得得客户端的IP地址
但如果客户端使用了代理服务器来访问,那这个时候取得的就是代理IP地址并不是实际的客户端ip,这个时候就可以通过 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来尝试获取真正的地址(需要注意的是如果客户端未使用代理的时候直接使用会获取不到值)。

可以这样处理

//先获取过滤代理的 如果没有值则说明没有使用代理 那就直接获取ip地址即可
var ip = Request.ServerVariables("HTTP_X_FORWARDED_FOR");
//如果穿透代理方式获取IP没有值就使用常规的方式读取
ip = string.IsNullOrEmpty(ip)?Request.ServerVariables("REMOTE_ADDR"):ip;

补充展位 Pages_Weblog_Get#0
补充展位 Pages_Weblog_Get#1
补充展位 Pages_Weblog_Get#2
专题推荐
暂无内容
补充展位 Pages_Weblog_Get#3