首页 » 网站建设 » phpxforwardedfor技巧_XForwardedFor Header用来获取用户真实IP地址的浏览器插件

phpxforwardedfor技巧_XForwardedFor Header用来获取用户真实IP地址的浏览器插件

访客 2024-11-03 0

扫一扫用手机浏览

文章目录 [+]

那为什么 Web 做事器只有通过 X-Forwarded-For 头才能获取真实的 IP?

这里用 PHP 措辞来解释,不明白事理的开拓者为了获取客户 IP,会利用 $_SERVER['REMOTE_ADDR'] 变量,这个做事器变量表示和 Web 做事器握手的 IP 是什么(这个不能假造)。

phpxforwardedfor技巧_XForwardedFor Header用来获取用户真实IP地址的浏览器插件

但是很多用户都通过代理来访问做事器的,那么如果利用该全局变量,PHP获取到的 IP 便是代理做事器的 IP(不是用户的)。

phpxforwardedfor技巧_XForwardedFor Header用来获取用户真实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,点击安装后重启浏览器即可。
可直接在插件中修正IP。

标签:

相关文章

phpcomposermac技巧_mac安装composer

1. 创建一个存放composer命令的目录打开Terminal,在家目录创建一个bin目录(有就不用创建了 :sudo mkdi...

网站建设 2024-12-12 阅读0 评论0