未分类
#.NET #服务端 #C#获取ip

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

Y Yuan天空
2020-10-23 332 阅读

正文详情 · 483 字

.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;


内容创作不易,转载请务必注明本文来源链接,感谢您的尊重与支持~

没有更多了~
这是最早的一篇了
相关推荐