2016-09-25 41 views
1

我希望得到一个特定的运行所在的本地机器IP地址。要运行该页面,我首先检查本地IP地址是否与指定的IP地址匹配,然后才会打开该页面。我使用PHP进行编程。在PHP中获取本地机器IP地址

我试过了$ _SERVER和getenv,但他们提供的地址与我的电脑的IP地址不匹配。而且,每次连接刷新时都会发生变化。

请帮忙。

+1

你想要的地址*客户端*计算机(您的浏览器中运行)或*服务器*计算机(其中PHP程序实际运行)?请记住,在大多数情况下,PHP是* server *端编程语言。 –

+0

我想要客户端计算机的地址。我想检查一下,如果它是我的电脑或指定人员的电脑,那么只有打开这些页面。 –

+0

这不是很好的安全。如果您使用宽带订阅,那么您分配的地址不是固定的,也可能是不可能的。 –

回答

0

可否请您使用以下任何 $ _ SERVER [ 'REMOTE_ADDR']或$ _ SERVER [ 'REMOTE_HOST']

+0

正如我在帖子中提到的,我尝试了$ _SERVER和getenv,但他们没有提供结果。每次连接刷新时它们都会不断变化。 –

+0

使用命令行界面至少不会在Windows主机的$ _SERVER阵列中提供任何“REMOTE_ADDR”或“REMOTE_HOST”索引。 –

4

您可以找到IP地址使用$_SERVER['REMOTE_ADDR']$_SERVER['REMOTE_HOST']变量。

,或者您也可以尝试:

从CLI

PHP 5.3.0 <

$myIp= getHostByName(php_uname('n')); 
echo $myIp; 

PHP> = 5.3.0

$myIp = getHostByName(getHostName()); 
echo $myIp; 

对于客户端的IP地址,你可以按照下面的链接: 来源:Get the client IP address using PHP

+0

'$ _SERVER ['REMOTE_HOST']'不适合我。 – Joshua