X-Forwarded-For Header,HTTP请求头插件

X-Forwarded-For 是一个 HTTP 扩展头部,主要是为了让 Web 服务器获取访问用户的真实 IP 地址

插件背景

此扩展允许您为各种测试目的快速更新 X-Forwarded-For、X-Originating-IP、X-Remote-IP 和 X-Remote-Addr HTTP 标头

插件安装

1、你可以从chrome应用商店里找到X-Forwarded-For Header插件,如果你的chrome应用商店无法打开,你可以在本站的下方找到X-Forwarded-For Header插件下载地址

2、离线安装的方法参照一下方法:老版本chrome浏览器,首先在标签页输入【chrome://extensions/】进入chrome扩展程序,解压你在本站下载的插件,并拖入扩展程序页面,它会提示你是否安装该插件,点击添加即可。最新版本的chrome浏览器直接拖放安装时会出现“程序包无效CRX-HEADER-INVALID”的报错信息,参照这篇文章即可解决

X-Forwarded-For Header,HTTP请求头插件插图

插件更新日志

v0.6.2 - 修复了干扰此扩展的 Firefox 版本的错误
v0.6.1 - 修复了 CORS 预检请求的问题
v0.6.0 - 允许多个 IP 地址(空格和/或逗号分隔)并包括小的 UI 修复
v0.5.0 - 添加了 X-Originati

X-Forwarded-For Header,HTTP请求头插件插图1

插件使用说明

为什么 Web 服务器只有通过 X-Forwarded-For 头才能获取真实的 IP?
这里用 PHP 语言来说明,不明白原理的开发者为了获取客户 IP,会使用 $_SERVER['REMOTE_ADDR'] 变量,这个服务器变量表示和 Web 服务器握手的 IP 是什么(这个不能伪造)。
但是很多用户都通过代理来访问服务器的,那么假如使用该全局变量,PHP获取到的 IP 就是代理服务器的 IP(不是用户的)。
可能很多人看的晕乎乎的,那么看看一个请求可能经过的路径:客户端=>(正向代理=>透明代理=>服务器反向代理=>)Web服务器。其中正向代理、透明代理、服务器反向代理这三个环节并不一定存在。

什么是正向代理呢,很多企业会在自己的出口网关上设置代理(主要是为了加速和节省流量)。
透明代理可能是用户自己设置的代理(比如为了FQ,这样也绕开了公司的正向代理)。
服务器反向代理是部署在 Web 服务器前面的,主要原因是为了负载均衡和安全考虑。

现在假设几种情况:
假如客户端直接连接 Web 服务器(假设 Web 服务器有公网地址),则 $_SERVER['REMOTE_ADDR'] 获取到的是客户端的真实 IP 。
假设 Web 服务器前部署了反向代理(比如 Nginx),则 $_SERVER['REMOTE_ADDR'] 获取到的是反向代理设备的 IP(Nginx)。
假设客户端通过正向代理直接连接 Web 服务器(假设 Web 服务器有公网地址),则 $_SERVER['REMOTE_ADDR'] 获取到的正向代理设备的 IP 。
其实这里的知识点很多,记住一点就行了,$_SERVER['REMOTE_ADDR'] 获取到的 IP 是 Web 服务器 TCP 连接的 IP(这个不能伪造,一般 Web 服务器也不会修改这个头)

X-Forwarded-For Header插件下载地址
X-Forwarded-For Header,HTTP请求头插件插图2
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!
0 0 投票数
文章评分
订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x