读取用户出口ip

Go语言获取客户端真实IP 在一些需求中,服务器需要记录客户端的ip地址,要获取ip地址,则需要有http.Request的对象参数传入,以下代码直接放在util中使用。还有一个需求是,如果还需要获取客户端的请求路由,则是。文件名:ip_utils.go。 阅读详情

读取用户出口ip

web项目中读取用户的出口ip是个常见需求,切换到新的工程后发现读取不到了。。。

首先翻看了一下iris的api获取用户ip的方法是:

	remoteAddr := ctx.Request().RemoteAddr
	fmt.Println("----" + remoteAddr)

通过域名访问我的工程,输出结果是

127.0.0.1:41550

官方提供的方法应该不会有错吧!那问题可能出现在了环境上。
通过ip访问我的工程,输出结果是

114.241.248.115:55735

百度搜索一下ip关键字,结果和工程中获取到的ip是一致的。

搜索图片
应该是环境影响了获取的方法。我的工程访问环境是这样的
域名 -->

域名
负载均衡
目标机
nginx
web工程

web工程出现问题,我先从nginxi的日志下手,通过分析,nginx日志中的用户ip都能拿到。 那问题应该出现在了nginx转发。查了一下资料,发现nginx转发时可以把用户的ip转到header中 。
nginx配置文件中添加下面的代码

proxy_set_header X-real-ip $remote_addr;

解释一下 “$remote_addr” 是nginx中的变量,变量中存储的用户出口ip。我们这个值赋给http请求的header中的“X-real-ip”。这样我们就可以在代码中通过读取httpheader的方式拿到用户的ip了。

	remoteAddr = ctx.Request().Header.Get("X-real-ip")
	fmt.Println("用户ip====" + remoteAddr)

输出结果

用户ip====114.241.248.115
SSRF漏洞深度解析:原理、攻击手法与立体化防御实战 服务器端请求伪造(SSRF)是一种常见且危害巨大的Web安全漏洞,其核心原理在于应用程序未能对用户可控的URL参数进行充分校验,导致攻击者能够诱使服务器向任意地址发起请求。从技术价值看,SSRF之所以危险,是因为服务器通常位于受信任的内网环境,拥有访问数据库、缓存服务器、内部API等敏感资源的权限,这使得漏洞可能成为攻击者穿透网络边界、实施内网横向移动的跳板。在应用场景上,SSRF常出现在文件处理、数据聚合、Webhook回调等需要服务器发起外部请求的功能中。本文以渗透测试实战为背景,深入剖析了SSRF的多 阅读详情

相关推荐

企业级高速、高匿爬虫代理IP、千万IP出口池

百变IP快速接入教程百变IP提供多种接入方式和接口;方式一:使用百变IP-Proxy,统一入口,支持免提取调用,设置白名单后即可使用,支持每次请求随机一个IP出口,或者多次请求使用同一个IP作为出口。通道A:proxy.baibianip.com:8000 每次随机一个出口IP,每日20000+不重复IP,24小时均匀分布。通道B:proxy.baibianip.com:8001~8010 这10...

think887766的博客 7761

Go获取请求IP地址

loginip := strings.Split(this.Ctx.Request.RemoteAddr, ":")[0] fmt.Println(loginip)

qq_35594570的博客 5295

为什么你的IP不被允许下载?出口IP排查与IP查询工具详解

在互联网通信中,IP地址是每台设备的网络身份标识,但大多数用户看到的公网IP并非本机独有,而是经过NAT转换后的出口IP。理解出口IP的概念,是排查访问限制、下载失败等网络问题的关键。当网站提示“download from your ip address is not allowed”,往往意味着当前网络出口不被目标服务器信任,可能与动态IP被误伤、IPv6策略差异或代理配置有关。一个看似简单的IP查询工具,实际涉及X-Forwarded-For解析、反向代理配置、IPv4/IPv6区分等工程细节。通过快速

weixin_33881140的博客 412

获取出口ip的N种方式

1、curl ip.sb 2、curl cip.cc 3、dig myip.opendns.com @resolver1.opendns.com 4、nslookup myip.opendns.com resolver1.opendns.com

云原生运维的博客 989

SSRF漏洞原理、利用与防御:从内网渗透到企业安全实战

服务器端请求伪造(SSRF)是一种常见且危害严重的安全漏洞,其核心原理在于攻击者能够诱导服务器向任意地址发起网络请求。由于服务器通常具备访问内部网络资源的权限,SSRF漏洞便成为攻击者探测和攻击内网资产的跳板。从技术价值看,SSRF不仅是渗透测试中的关键攻击向量,更是高级持续性威胁(APT)攻击的常见入口,能够绕过防火墙直接威胁核心业务系统。在应用场景上,SSRF常出现在需要服务器代理请求外部资源的功能中,例如图片处理、数据抓取、Webhook验证等模块。本文聚焦于SSRF漏洞的深度解析,涵盖其攻击面如利用

weixin_33742618的博客 444

网站显示的出口地区不一致?从 IPv6、DNS、WebRTC 到 IP 数据库的排查方法

代理已经连接,但网站仍然识别为原地区,可能是 IPv6 绕过代理、DNS 或 WebRTC 出口不一致,也可能来自浏览器定位、Cookie、账号设置和 IP 数据库差异。本文提供一套逐项验证真实网络出口的完整排查方法。

优快云7998的博客 477

Java获取本机互联网出口IP

import java.net.*; import java.io.*; public class GetPublicIPAddress { public static void main(String args[]) throws Exception { // Find public IP address String systemipaddress = ""; try { URL url_name = new URL("http://bot.whatismyipaddress..

allway2的博客 1321

IP地址为何被定位到南极洲?一文读懂IP地理定位原理与排查

IP地址只是网络接口的编号,并不携带任何位置信息。所有显示在应用上的地理位置,实际来自第三方GeoIP数据库对地址段的推算。当这种推算遇到注册信息滞后、出口IP汇聚或数据缺失时,就可能出现“IP被定位到南极洲”这类极端结果。理解IP地理定位的查询链路、数据源差异和误差来源,有助于在业务中正确使用这一技术。本文将围绕IP定位的常见异常现象,梳理从WHOIS查询、traceroute验证到数据库校正的完整排查思路,帮助后端开发、风控和运维同学在用户位置展示与反作弊场景中做出更可靠的判断。

weixin_33933118的博客 347

【Go】获取用户真实的ip地址

原文链接:https://blog.thinkeridea.com/201903/go/get_client_ip.html 用户请求到达提供服务的服务器中间有很多的环节,导致服务获取用户真实的 ip 非常困难,大多数的框架及工具库都会封装各种获取用户真实 ip 的方法,在 exnet 包中也封装了各种 ip 相关的操作,其中就包含获取客户端 ip 的方法,比较实用的方法如下: func Cli...

weixin_30455067的博客 1279

B站登录提醒IP显示广东,账号就真被盗了吗?详解IP定位与账号安全排查

在日常网络使用中,我们经常会在登录日志里看到IP归属地信息,例如账号提示异地登录且IP位于广东。很多人会将其直接等同于操作者真实位置,但从公网IP、内网IP到出口IP的网络模型来看,IP定位远非精确到具体人。IP归属地查询依赖GeoIP数据库,受运营商出口收敛、动态IP漂移等因素影响,通常只能精确到城市级,甚至出现跨省误差。理解IP定位原理具有重要的技术价值和实践意义,它帮助我们判断安全提醒的可信度。基于IP归属地分析登录日志,是发现异常登录、保护账号安全的关键手段。结合Python与ip2region等工

weixin_30680385的博客 370

Iris网络监听工具

Iris 是网络流量分析监测工具 可以帮助系统管理员轻易地捕获和察看用户的使用情况,可以同时检测到进入和发出的信息流,会自动进行存储和统计偏于察看和管理 是网络上比较常用的网络监测工具之一

Claude Code网络出口配置:固定住宅IP环境下的连接排查

围绕 Claude Code 终端、IDE 与 CI 场景,讲解固定网络出口、环境变量、连通性检测、配置分层和团队排障流程。

IPdodo_的博客 636

Java获取用户访问IP及地理位置的方法详解

主要介绍了Java获取用户访问IP及地理位置的方法,结合实例形式详细分析了Java基于百度地图开放平台获取用户访问IP及地理位置相关操作技巧,需要的朋友可以参考下

不用后端,纯前端读出“网站眼里你的真实出口 IP“——聊聊 Cloudflare 的 cdn-cgi/trace

前段时间调一个问题:同一台机器、同一个浏览器,访问 A 站和 B 站,后台日志里记录到的客户端 IP 居然不一样。 一开始以为是日志记错了。后来才反应过来——"我的 IP"这个说法本身就不严谨。你以为你只有一个公网 IP,但真实网络环境里,出口 IP 取决于走哪条路由:多线路的机器、企业网关、IPv4/IPv6 双栈、运营商的 CGNAT,都可能让"不同的目标站点,看到不同的你"。 问题来了:我怎么在浏览器里,不装抓包工具、不自己搭后端,就知道"某个具体网站看到的我的出口 IP 是哪个"?

sadfdasf8116的博客 470

格拉姆角场实战:东南大学轴承故障诊断数据集深度剖析与代码实现

本文深入剖析了东南大学轴承故障诊断数据集,并提供了完整的格拉姆角场实战应用指南。通过将一维振动信号转换为二维图像,结合卷积神经网络,构建了端到端的故障诊断流程。文章详细解读了数据集的工况、通道含义与故障类型,并附有可运行的代码实现,为工业设备智能运维提供了有效解决方案。

night的博客 511

Robot Arm 机械臂源码解析

由于我们用的是步进电机,运动的时候是一步一步的,并不是平滑的,这里假设在一个平面上面,一个x步进电机,一个y步进电机。那么放大它们所走的轨迹就会是阶梯状的。而它们也只能沿着网格运动。相当于有了一个最小的分辨率,这个分辨率就是一步。如下图所示,如果x,y电机同时走就能走出45度的斜线。在三维空间里面运动也是如此,你应该可以想象的出来;首先,是updateActualPosition,用来时时更新此时的差补位置,得到的是一个路径与时间t的函数(其中路径的范围为0,1,时间范围为0,dist/v)...

爱吃炸鸡的小猪's blog 1万+

SaaS 系统业务隔离:指定独立出口 IP 完整方案

前言:为不同SaaS系统配置独立公网出口IP,这个需求看似简单,实则暗藏玄机。我和在运维行业干了十几年的运维大佬、认识的高级架构师朋友们,以及国内外各大AI都深入讨论过,结论出奇一致:没有任何纯网络/运维技术能直接实现这个需求。原因在于一个无法绕过的底层约束:TCP/IP协议栈中,网络层和传输层的数据包里只有源IP、目标IP和端口信息,而域名属于应用层HTTP头部数据。操作系统、防火墙、路由设备根本无法解析到这次请求到底来自哪个应用程序域名。多网卡绑定多个公网IP只是必要的基础条件,但远远不够。要实现按域名

weixin_66855479的博客 541

遥感卫星影像AI数据集格式规范详解、技术原理与数据生产全流程技术手册

本技术手册旨在系统性地梳理遥感卫星影像AI数据集的各类格式标准(涵盖VOC、COCO、YOLO及遥感专用DOTA格式等),深入剖析其背后的技术原理,并详细阐述数据生产的全过程,涵盖预处理、标注、质量控制及数据增强等关键环节。无论您是刚入门的算法工程师,还是资深的数据生产管理者,本手册都将为您提供详实的参考与指引。

panshengwu的博客 1134

Squid 3.1.10 在多IP的CentOS 6.3下,实现用户由那个ip进,就由那个ip出的效果

默认安装即可, yum install squid 然后,更改默认配置文件 /etc/squid/squid.conf vim /etc/squid/squid.conf 在文件第一行之前插入 acl ip_allow src 1.1.1.1/32 2.2.2.0/24 3.3.0.0/16 http_access allow ip_allow forwarded_for delete

我爱互联网 4232

MATLAB AppDesigner 中TextArea保留原有信息并换行显示提示信息

App Designer 中的文本区域TextArea组件,一般可以用来作为matlab app设计中的信息显示。 app.TextArea.Value = 'Hello Matlab'; Value可以是字符向量、字符向量元胞数组、字符串数组或一维分类数组。这样直接给TextArea赋值,每次赋值都会消除先前的信息,然后显示新的信息。如果想要在app实现保留原有信息、多行信息的输出,在MathWorks官方帮助中心给出了一种方法: cellArrayText{1} = sprintf('%s\n

我是麻瓜喔的博客 1万+

⭐️【2024年新版教程】vmware tools安装步骤(Windows、Linux、MacOS版本)

VMware Tools是VMware提供的一套实用工具,它可以增强虚拟机与宿主机之间的交互性能,如改进显示性能、优化鼠标和键盘性能、提供时间同步功能等。无论是在Windows、Linux还是MacOS虚拟机上,安装VMware Tools都可以提高虚拟机的使用体验。以上就是在不同操作系统上安装VMware Tools的步骤,希望对您有所帮助。

Python老吕的博客 6万+

Scrapy采集链路配置:从单出口到动态出口池的实现

专业的住宅代理服务商提供的是网关式接入:分配一个固定的接入地址(host:port)和账号密码,出口 IP 由服务端自动轮换,每次请求走不同的家庭宽带出口。这篇文章从 Scrapy 代理中间件的原理讲起,覆盖单个代理配置、代理池的两种构建方案、自定义中间件开发(自动重试 / 失败切换 / IP 失效剔除),最后给出动态住宅代理的实战配置和常见问题排查,读完可以直接套用到自己的项目里。生产环境里,光"能走代理"还不够,通常要处理三类问题:请求失败自动重试、失败后切换代理、连续失败的 IP 从池中剔除。

2501_94002910的博客 358

Data+AI━━数仓建模的智能进化之路!

Data+AI━━数仓建模的智能进化之路!

ith321的博客 1746

内网IP为什么会被平台判定多账号关联呢 科普避坑解答

我研究多账号IP关联问题快两年,踩过不少坑,其实内网IP本身不会导致关联,问题出在同内网带出的相同环境特征上。平台判定关联的核心不是内网IP本身,是同内网共享的公网出口+一致的网络环境特征单纯修改设备内网IP完全解决不了关联问题,不用白费功夫同内网运营多个同平台账号,只要分开独立公网出口,风险能降低80%以上普通个人用户登2个以内私人账号,不用过度焦虑内网关联问题。

godwaskillde的博客 256

LangChain面试内容整理-知识点27:LangChain性能调优

LLM应用可能面临响应慢、成本高等性能问题。LangChain提供了一些优化方法和经验来提升性能和效率。

不务正业的猿 328

(八)DDR_PHY架构及功能——(PUB组成、初始化及Training流程、Clock关系)

文章目录一、DDR_PHY结构组成1.1、DDR Memory子系统1.2、DDR_PHY架构组成1.3、PUB模块功能实现流程1.3.1、DDR系统初始化流程1.3.2、PLL初始化流程 一、DDR_PHY结构组成 1.1、DDR Memory子系统   Memory子系统主要由DDR Controller和DDR_PHY(含DDR_IO)两个部分组成。DDR Controller主要承担其它子系统(如CPU)与Memory子系统进行数据交互时的传输效率及调度,DDR_PHY主要负责数据交互过程中的传输速

Mr.翟的博客 1万+
上一篇: android通过辅助功能收集数据
下一篇: 保持ssh连接
RobertLee~~~~~~~~
博客等级 码龄18年 14粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值