Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 多台计算机的相同IP地址_Php_Ip Address - Fatal编程技术网

Php 多台计算机的相同IP地址

Php 多台计算机的相同IP地址,php,ip-address,Php,Ip Address,我尝试使用php代码获取用户ip地址: $_SERVER["REMOTE_ADDR"]; 当我检查与同一网络关联的计算机时,它为所有计算机提供了相同的ip地址……为什么会这样。我希望有不同的ip地址。如何使用php获得不同的ip地址?您的服务器有一个ip,本地网络有一个外部ip(这就是您看到的)。 该网络上的所有计算机都有自己的内部ip 当一台计算机连接到您的服务器时,它会通过它所连接的路由器/交换机的ip进行连接。当您在同一个LAN中时,如果您的路由器使用NAT,您将拥有相同的IPv4地址(

我尝试使用php代码获取用户ip地址:

$_SERVER["REMOTE_ADDR"];

当我检查与同一网络关联的计算机时,它为所有计算机提供了相同的ip地址……为什么会这样。我希望有不同的ip地址。如何使用php获得不同的ip地址?

您的服务器有一个ip,本地网络有一个外部ip(这就是您看到的)。 该网络上的所有计算机都有自己的内部ip


当一台计算机连接到您的服务器时,它会通过它所连接的路由器/交换机的ip进行连接。

当您在同一个LAN中时,如果您的路由器使用NAT,您将拥有相同的IPv4地址(大多数路由器都使用NAT)。你对此无能为力,这就是它的工作原理。 请注意,如果有人使用IPv6,大多数情况下,每台计算机都有自己的唯一IP地址

请注意:您的路由器正在跟踪传出连接,从而确保每个数据包都到达正确的源(内部计算机)。也没有办法跟踪它,所以你真的必须处理它。但也要注意,使用“普通IP地址”,使用的代码非常独特。可能网络中的某些用户具有相同的IP地址,但它是特定网络的唯一标识符。
还要注意的是,人们可以拥有动态IPv4地址,这意味着IP地址经常变化。“静态”IP地址是保留在网络中的地址。这是由ISP控制的。

IPV4 IP地址数量有限。因此,大多数没有运行面向公众的服务器的人使用

这将涉及他们使用局域网上的计算机(IP地址为192.168.1.2)和路由器,路由器具有局域网IP地址和互联网IP地址,在他们和互联网上的服务器之间中继通信

互联网上的服务器只能看到面向互联网的路由器IP地址


要查看专用IP地址,您必须在LAN边界内运行软件。理论上,如果您能说服用户运行并允许一个签名的Java小程序执行,您就可以选择地址,但即使如此,如果使用多个IP,您也可能会遇到问题。(例如,我目前有一个环回IP、一个以太网IP、一个Wi-Fi IP,并且正在运行两个虚拟机,我的工作站有两个IP供它们连接)。

您的机器可能位于网络代理服务器后面


在这种情况下,web服务器位于本地网络之外。它只能从服务器变量中查看代理服务器IP地址。

也许有一天IPv6会改变这一点。那么我如何才能获得不同的IP地址呢?您无法获得他们的本地IP地址,如果您不愿意,本地IP地址通常是192.168.0-1.2-254,除非您使用,否则我不确定您将如何获得一个像样的指纹,就像您正在寻找的指纹一样。我通过会话解决了这个问题,所以我尝试获得不同的ip地址…顺便说一句,感谢您提供的信息IPv4(专用ip)和您的调制解调器ip(公用ip)之间的区别。这是应有的安全性。@Bondye-除了LAN IP不可路由和它们只是不同的IP之外,没有区别。这不是因为安全问题(虽然你会得到一些安全方面的好处作为副作用),那么是不是我不能在网络中为计算机提供不同的ip地址?@Robz-true。您只能获取网络的“外部”IP地址。(除非他们正在使用IPv6,或者拥有一个没有NAT的网络。这两种情况现在都非常罕见。希望有更多的人将使用IPv6,但仍然…)