2

我的服务器在代理后面,我正在尝试获取我在 PHP 中使用的用户的 IP

$IP = $_SERVER['HTTP_X_FORWARDED_FOR'];

我最近看到的一些用户 Ip 的问题就像下面的示例 Ip 一样。

173.0.0.000, 190.000.00.01
173.0.0.000, 190.000.00.02
173.0.0.000, 190.000.00.03
173.0.0.000, 190.000.00.04
173.0.0.000, 190.000.00.05

我将如何获得正确的 IP,如下所示。它不会发生在所有 Ip 上。

4

1 回答 1

2

格式为X-Forwarded-Forclient1、proxy1、proxy2。因此,您将要获取列表中的第一个地址:

$IP = current(explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']));

echo $IP; // 173.0.0.000

无论有多个地址还是只有一个,这都会获取第一个 IP 地址。

于 2012-05-16T22:27:49.480 回答