當前位置:首頁 » 編程語言 » 獲取ipphp

獲取ipphp

發布時間: 2025-06-22 15:01:57

php如何獲取伺服器外網的ip

function real_server_ip(){
static $serverip = NULL;

if ($serverip !== NULL){
return $serverip;
}

if (isset($_SERVER)){
if (isset($_SERVER['SERVER_ADDR'])){
$serverip = $_SERVER['SERVER_ADDR'];
}
else{
$serverip = '0.0.0.0';
}
}
else{
$serverip = getenv('SERVER_ADDR');
}

return $serverip;
}

② php獲取IP地址的三個函數區別

以下資料供參考:

1、REMOTE_ADDR 瀏覽當前頁面的用戶計算機的ip地址

2、HTTP_X_FORWARDED_FOR 瀏覽當前頁面的用戶計算機的網關

3.HTTP_CLIENT_IP 客戶端的ip

在PHP 中使用 REMOTE_ADDR 來取得客戶端的 IP 地址,但如果客戶端是使用代理伺服器訪問,那取到的就是代理伺服器的 IP 地址,而不是真正的客戶端 IP 地址。

要想透過代理伺服器取得客戶端的真實 IP 地址,就要使用 HTTP_X_FORWARDED_FOR 來讀取。

不過要注意的事,並不是每個代理伺服器都能用 HTTP_X_FORWARDED_FOR 來讀取客戶端的真實 IP,有些用此方法讀取到的仍然是代理伺服器的 IP。

還有一點需要注意的是:如果客戶端沒有通過代理伺服器來訪問,那麼HTTP_X_FORWARDED_FOR 取到的值將是空的。

③ php注冊系統咋么獲得用戶ip

只需要一行代碼即可!~~

$ip=$_SERVER['REMOTE_ADDR']; // 獲取訪客的 IP

④ php上傳至伺服器獲取ip顯示127.0.0.1

有些php伺服器上無法使用網上所謂的5中獲取ip地址的方法,那些代碼使用後通常顯示為127.0.0.1,現在下面的方法可以解決這個問題。
獲取ip代碼 ?php if($HTTP_X_FORWARDED_FOR!="") $REMOTE_ADDR=$HTTP_X_FORWARDED_FOR; $tmp_ip=explode(",",$REMOTE_ADDR); $REMOTE_ADDR=$tmp_ip[0]; function getRealIp(){ $ip=false; if(!empty($_SERVER["HTTP_CLIENT_IP"])){ $ip = $_SERVER["HTTP_CLIENT_IP"]; } if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']); if ($ip) { array_unshift($ips, $ip); $ip = FALSE; } for ($i = 0; $i count($ips); $i++) { if (!eregi ("^(10│172.16│192.168).", $ips[$i])) { $ip = $ips[$i]; break; } } } return ($ip ? $ip : $_SERVER['REMOTE_ADDR']); } $real_ip=getRealIp(); echo "IP為:".$real_ip; ? 效果圖如下

⑤ 利用php怎麼獲取用戶ip

php獲取用戶真實ip的方法:
方法1:
//獲取REMOTE_ADDR屬性,直接可以得到ip
$ip = $_SERVER["REMOTE_ADDR"];
echo $ip;
方法2:
//從Server中獲取HTTP_VIA,如果獲取到就用HTTP_X_FORWARDED_FOR的值替換,如果獲取不到就取REMOTE_ADDR的值。
$user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] :
$_SERVER["REMOTE_ADDR"];
$user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];
echo $user_IP;
方法3:
function getRealIp()
{
$ip=false; //初始化ip為false
if(!empty($_SERVER["HTTP_CLIENT_IP"])){ //如果HTTP_CLIENT_IP不為空
$ip = $_SERVER["HTTP_CLIENT_IP"]; //獲取HTTP_CLIENT_IP的值
}
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { //如果HTTP_X_FORWARDED_FOR不為空
$ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
//把HTTP_X_FORWARDED_FOR的值用,分割後存放數組ips
if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }//遍歷處理
for ($i = 0; $i < count($ips); $i++) {
if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
$ip = $ips[$i]; //獲得真實ip
break;
}
}
}
return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}
echo getRealIp();

熱點內容
安卓系統怎麼把通訊錄轉到iphone 發布:2025-06-22 19:39:57 瀏覽:325
ic306是什麼伺服器型號 發布:2025-06-22 19:38:57 瀏覽:607
server伺服器的ip手動設置 發布:2025-06-22 19:31:04 瀏覽:646
Rijndael加密演算法 發布:2025-06-22 19:30:58 瀏覽:746
如何看緩存的視頻 發布:2025-06-22 19:25:13 瀏覽:127
c語言目錄遍歷 發布:2025-06-22 19:24:12 瀏覽:549
電腦用什麼反編譯 發布:2025-06-22 18:58:24 瀏覽:705
android喚醒機制 發布:2025-06-22 18:58:23 瀏覽:550
英特爾天選2買什麼配置性價比高 發布:2025-06-22 18:58:22 瀏覽:245
c語言linux創建文件夾 發布:2025-06-22 18:58:20 瀏覽:278