當前位置:首頁 » 編程語言 » 獲取客戶端ip地址php

獲取客戶端ip地址php

發布時間: 2024-12-06 03:17:19

『壹』 利用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();

『貳』 php注冊系統咋么獲得用戶ip

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

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

『叄』 用php來獲得客戶端伺服器ip的方法

<?php

echo "當前腳碰慶返本伺服器的主機名 " gethostbyaddr($_SERVER[ REMOTE_ADDR ]) "<br /><hr />"; echo "獲得當前運行PHP腳本(頁面)差和所在的伺服器的 IP 地址:" $_SERVER[ SERVER_ADDR ] "<br /><hr />"; echo "獲得當前運行PHP腳本(頁面)所在的伺服器的 主機名:" $_SERVER[ SERVER_NAME ]; echo <hr> ; echo 客戶端ip $_SERVER[ REMOTE_ADDR ]; echo <br> ; echo 客戶端笑飢ip getenv( REMOTE_ADDR ); echo "<br>"; echo 伺服器主機ip gethostbyname(" qq "); ?>

lishixin/Article/program/PHP/201311/20917

『肆』 php獲取客戶端IP地址的幾種方法

//php獲取ip的演算法
if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])
{
$ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
}
elseif ($HTTP_SERVER_VARS["HTTP_CLIENT_IP"])
{
$ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
}
elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"])
{
$ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
}
elseif (getenv("HTTP_X_FORWARDED_FOR"))
{
$ip = getenv("HTTP_X_FORWARDED_FOR");
}
elseif (getenv("HTTP_CLIENT_IP"))
{
$ip = getenv("HTTP_CLIENT_IP");
}
elseif (getenv("REMOTE_ADDR"))
{
$ip = getenv("REMOTE_ADDR");
}
else
{
$ip = "Unknown";
}
echo "你的IP:".$ip ;
?>

『伍』 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 取到的值將是空的。

熱點內容
android真機開發 發布:2025-01-01 14:20:47 瀏覽:319
1pb存儲伺服器 發布:2025-01-01 14:19:03 瀏覽:926
python轉c 發布:2025-01-01 14:09:58 瀏覽:85
內網pc通過公網ip訪問伺服器 發布:2025-01-01 14:09:21 瀏覽:758
安卓腳本大全合集 發布:2025-01-01 14:08:34 瀏覽:831
忘記魅族手機鎖屏密碼怎麼辦 發布:2025-01-01 14:08:27 瀏覽:961
編程新語言 發布:2025-01-01 14:02:10 瀏覽:355
搜狐郵箱如何配置伺服器 發布:2025-01-01 13:54:10 瀏覽:118
ios上傳頭像 發布:2025-01-01 13:49:09 瀏覽:229
和平精英里怎麼配置槍支 發布:2025-01-01 13:28:33 瀏覽:944