在PHP中,您可以通過$_SERVER
超全局變量來獲取用戶的真實IP地址。以下是一個示例代碼:
<?php
function getRealUserIp() {
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
$real_user_ip = getRealUserIp();
echo "用戶的真實IP地址是: " . $real_user_ip;
?>
這段代碼首先檢查HTTP_CLIENT_IP
頭,如果它存在,則使用該值作為IP地址。如果不存在,它會檢查HTTP_X_FORWARDED_FOR
頭,這個頭可能包含一個IP地址列表,表示用戶的IP經過了一個或多個代理。如果這兩個頭都不存在,它會回退到使用REMOTE_ADDR
頭,這通常是直接從客戶端獲取的IP地址。這樣可以提高獲取真實IP地址的準確性,尤其是在用戶通過代理服務器訪問網站時。