阿里云使用 SLB 如何获取用户真实地址?

2018-11-23 16:04:13 +08:00
 ChoateYao

阿里云使用 SLB 如何获取用户真实地址?

参考文档: https://help.aliyun.com/document_detail/54007.html

当用户正常请求的时候可以解析出真实的地址,已经对阿里云内部 IP 进行白名单验证。

但是,用户自行伪造 x-forwarded-for 的时候,那么用户真实 IP 的地址将会自动附加到最后面。

curl -H "X-Forwarded-For: 107.186.12.3, 102.37.36.6, 16.7.3.4" https://xxx.com
[HTTP_X_FORWARDED_FOR] => 107.186.12.3, 102.37.36.6, 16.7.3.4, 14.152.49.160
3747 次点击
所在节点    云计算
6 条回复
opengps
2018-11-23 16:56:47 +08:00
你自己都说了,最后的是真实 ip,那就写代码截取吧
odirus
2018-11-23 17:02:32 +08:00
从左到右找到第一个不是内网地址的 IP
xyjincan
2018-11-23 22:29:08 +08:00
,,,啥原理
ChristopherWu
2018-11-23 23:09:26 +08:00
@xyjincan 毛遂自荐,请参考我这篇文章: https://yonghaowu.github.io/2018/11/23/get_reql_ip/
ChoateYao
2018-11-27 17:59:49 +08:00
@opengps 自行伪造的情况下面和正常请求根本没有办法区分。你张嘴就来取最后一个,将来出了问题,你们是要负责任的,明白吗?
C0reFast
2018-12-25 15:54:50 +08:00
使用 4 层负载均衡,直接拿 clientIp 就是用户发起 tcp 连接的那个真实客户端地址。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/510829

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX