Php 获取访问者的用户本地IP
我们有一条与多个用户共享的互联网线路,当每个人都访问互联网时,请求通过相同的远程IP发送。我需要找出请求来自哪个本地IP。 有人能帮我查一下本地IP吗 我已经写了下面的代码,但它没有给出例外的结果 谢谢Php 获取访问者的用户本地IP,php,apache,Php,Apache,我们有一条与多个用户共享的互联网线路,当每个人都访问互联网时,请求通过相同的远程IP发送。我需要找出请求来自哪个本地IP。 有人能帮我查一下本地IP吗 我已经写了下面的代码,但它没有给出例外的结果 谢谢 $ip = getenv('HTTP_CLIENT_IP'); var_dump($ip); var_Dump($_SERVER["X-FORWARDED-FOR"]); if (getenv('HTTP_X_FORWARDED_FOR')) { $pipaddress
$ip = getenv('HTTP_CLIENT_IP');
var_dump($ip);
var_Dump($_SERVER["X-FORWARDED-FOR"]);
if (getenv('HTTP_X_FORWARDED_FOR')) {
$pipaddress = getenv('HTTP_X_FORWARDED_FOR');
$ipaddress = getenv('REMOTE_ADDR');
echo "Your Proxy IP address is : ".$pipaddress. "(via $ipaddress)" ;
} else {
$ipaddress = getenv('REMOTE_ADDR');
echo "Your IP address is : $ipaddress";
}
由于您在本地网络中共享相同的公共IP,因此您的路由器使用一种称为NAT的技术,因此您可以共享所有相同的IP,因为它可以是一个或多个。请求和本地ip之间的关系保存在作为网关的路由器的本地表中 您无法查看NAT执行路由器后面的本地ip地址。这不是NAT问题,这是Internet寻址和数据包头限制,与您可以处理的配置无关
如果这是公司的问题,您可以将服务器放置在本地网络中,在这种情况下,$\u server['REMOTE\u ADDR']值将是您要查找的本地IP地址。路由器是否实际公开了内部IP?我的猜测是:不,那你就无能为力了。无论如何,这是不可信的。