2016-09-25 38 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