溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

使用PHP怎么獲取客戶端及服務(wù)器端IP的封裝類(lèi)

發(fā)布時(shí)間:2021-02-05 16:36:45 來(lái)源:億速云 閱讀:207 作者:Leah 欄目:開(kāi)發(fā)技術(shù)

今天就跟大家聊聊有關(guān)使用PHP怎么獲取客戶端及服務(wù)器端IP的封裝類(lèi),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

客戶端IP相關(guān)的變量:

1. $_SERVER['REMOTE_ADDR']; 客戶端IP,有可能是用戶的IP,也有可能是代理的IP。

2. $_SERVER['HTTP_CLIENT_IP']; 代理端的IP,可能存在,可偽造。

3. $_SERVER['HTTP_X_FORWARDED_FOR']; 用戶是在哪個(gè)IP使用的代理,可能存在,可以偽造。

服務(wù)器端IP相關(guān)的變量:

1. $_SERVER["SERVER_NAME"],需要使用函數(shù)gethostbyname()獲得。這個(gè)變量無(wú)論在服務(wù)器端還是客戶端均能正確顯示。

2. $_SERVER["SERVER_ADDR"],在服務(wù)器端測(cè)試:127.0.0.1(這個(gè)與httpd.conf中BindAddress的設(shè)置值相關(guān))。在客戶端測(cè)試結(jié)果正確。

類(lèi)如下:

class getIP{
 function clientIP(){
 $cIP = getenv('REMOTE_ADDR');
 $cIP1 = getenv('HTTP_X_FORWARDED_FOR');
 $cIP2 = getenv('HTTP_CLIENT_IP');
 $cIP1 ? $cIP = $cIP1 : null;
 $cIP2 ? $cIP = $cIP2 : null;
 return $cIP;
 }
 function serverIP(){
 return gethostbyname($_SERVER["SERVER_NAME"]);
 }
}
$getIP = new getIP();
$clientIp = getIP::clientIP();
$serverIp = getIP::serverIP();
echo 'Client IP is ',$clientIp,'<br />';
echo 'Server IP is ',$serverIp,'<br />';

看完上述內(nèi)容,你們對(duì)使用PHP怎么獲取客戶端及服務(wù)器端IP的封裝類(lèi)有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI