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

博客随笔
181
.NET
服务端
C#获取ip

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

Synchronizing configuration...Error: 请求的名称有效,但是找不到请求的类型的数据
尚未安装.Net Framework 4.6.2时出现“无法建立到信任根颁发机构的证书链”解决方法
fo-dicom .net core 如何获取图像bitmap
System.BadImageFormatException: 未能加载文件或程序集 解决办法
.Net程序奔溃后,弹出了“停止工作”对话框问题 屏蔽办法
.NET程序系统托盘运行出现多个同样的托盘图标的解决方法
.NET Core Web网站wwwroot目录静态文件无法加载
.NET 5 web环境 Graphics上实现图片实时添加文字水印效果
 .NET 5 依赖注入AddTransient瞬时模式简单例子
.NET调用WMI来获取硬件信息时报错无效命名空间问题的解决办法
FastReport .NET 导出jpg图像打印模糊的解决办法
win10下怎么关闭.Net程序崩溃后,弹出了“停止工作”系统异常对话框问题
暂无相关内容...
.NET csharp医疗胶片患者识别号文字区域检测例子
【脱机安装包】.net-framework 3.5、4.0、4.5、4.6、4.7、4.8各版本离线包
免责声明 部分转载分享内容若侵犯您的权益,还请 邮件联系 侵删