为什么我的客户端 IP 在 xampp 上返回为 ::1?
Why is my client IP returned as ::1 on xampp?
我正在尝试获取客户端 IP 以便将其与某些范围进行比较,但我在第一步失败:确定用户的 IP 地址。
我使用以下代码:
$ip = getenv('HTTP_CLIENT_IP')?:
getenv('HTTP_X_FORWARDED_FOR')?:
getenv('HTTP_X_FORWARDED')?:
getenv('HTTP_FORWARDED_FOR')?:
getenv('HTTP_FORWARDED')?:
getenv('REMOTE_ADDR');
echo $ip;
但我得到的结果是:::1
我正在使用 XAMPP。
我怎样才能得到我的真实 IP,为什么 XAMPP 输出我的内部网络 IP 而不是我的真实 IP 还是我的代码有问题?
::1
是 IPv6 中的 localhost
。您的测试盒正在使用 IPv6 连接到本地主机。
您可以显式使用 127.0.0.1
或配置 /etc/hosts
以将 127.0.0.1
用于 localhost
。
:1代表localhost / 127.0.0.1
用你的ip地址试试xampp我的ip地址是192.168.1.3
<?php
$ip = getenv('HTTP_CLIENT_IP')?:
$ip1 = getenv('HTTP_X_FORWARDED_FOR')?:
$ip2 = getenv('HTTP_X_FORWARDED')?:
$ip3 = getenv('HTTP_FORWARDED_FOR')?:
$ip4 = getenv('HTTP_FORWARDED')?:
$ip5 = getenv('REMOTE_ADDR');
echo "HTTP_CLIENT_IP : ".$ip."</br>";
echo "HTTP_X_FORWARDED_FOR : ".$ip1."</br>";
echo "HTTP_X_FORWARDED : ".$ip2."</br>";
echo "HTTP_FORWARDED_FOR : ".$ip3."</br>";
echo "HTTP_FORWARDED : ".$ip4."</br>";
echo "REMOTE_ADDR : ".$ip5."</br>";
?>
我正在尝试获取客户端 IP 以便将其与某些范围进行比较,但我在第一步失败:确定用户的 IP 地址。
我使用以下代码:
$ip = getenv('HTTP_CLIENT_IP')?:
getenv('HTTP_X_FORWARDED_FOR')?:
getenv('HTTP_X_FORWARDED')?:
getenv('HTTP_FORWARDED_FOR')?:
getenv('HTTP_FORWARDED')?:
getenv('REMOTE_ADDR');
echo $ip;
但我得到的结果是:::1
我正在使用 XAMPP。
我怎样才能得到我的真实 IP,为什么 XAMPP 输出我的内部网络 IP 而不是我的真实 IP 还是我的代码有问题?
::1
是 IPv6 中的 localhost
。您的测试盒正在使用 IPv6 连接到本地主机。
您可以显式使用 127.0.0.1
或配置 /etc/hosts
以将 127.0.0.1
用于 localhost
。
:1代表localhost / 127.0.0.1
用你的ip地址试试xampp我的ip地址是192.168.1.3
<?php
$ip = getenv('HTTP_CLIENT_IP')?:
$ip1 = getenv('HTTP_X_FORWARDED_FOR')?:
$ip2 = getenv('HTTP_X_FORWARDED')?:
$ip3 = getenv('HTTP_FORWARDED_FOR')?:
$ip4 = getenv('HTTP_FORWARDED')?:
$ip5 = getenv('REMOTE_ADDR');
echo "HTTP_CLIENT_IP : ".$ip."</br>";
echo "HTTP_X_FORWARDED_FOR : ".$ip1."</br>";
echo "HTTP_X_FORWARDED : ".$ip2."</br>";
echo "HTTP_FORWARDED_FOR : ".$ip3."</br>";
echo "HTTP_FORWARDED : ".$ip4."</br>";
echo "REMOTE_ADDR : ".$ip5."</br>";
?>