- 安全方式下只能通过 Remote Address 获取 IP,不能相信任何请求头,因Remote Address获取方式是通过TCP三次握手确认的,如果伪造IP则握手失败;
- 使用 Nginx 进行反向代理的 Web 应用,在不配置代理头
X-Forwarded-For或X-Real-IP的情况下,要用X-Forwarded-For最后一节 或X-Real-IP来获取 IP。(因代理情况下 Remote Address 得到的是 Nginx 所在服务器的内网 IP); - 在与安全无关的场景,例如通过 IP 显示所在地天气,可以从
X-Forwarded-For靠前的位置获取 IP,但是需要校验 IP 格式合法性;
博客探讨了在安全和非安全场景下如何正确获取HTTP请求的IP地址。在安全环境中,依赖TCP三次握手的RemoteAddress获取真实IP,防止伪造。而在Nginx反向代理情况下,需利用X-Forwarded-For或X-Real-IP头获取客户端IP,但需注意校验IP格式。非安全场景下,可从X-Forwarded-For头获取IP,但需验证IP合法性。

被折叠的 条评论
为什么被折叠?



