我正在嘗試獲取客戶端的 IP 地址,以便他們在每臺設(shè)備上僅使用一個(gè)帳戶。但是,當(dāng)我使用以下代碼時(shí),發(fā)現(xiàn)從同一網(wǎng)絡(luò)中的計(jì)算機(jī)返回的IP地址相同。function get_client_ip() { $ipaddress = ''; if (getenv('HTTP_CLIENT_IP')) $ipaddress = getenv('HTTP_CLIENT_IP'); else if(getenv('HTTP_X_FORWARDED_FOR')) $ipaddress = getenv('HTTP_X_FORWARDED_FOR'); else if(getenv('HTTP_X_FORWARDED')) $ipaddress = getenv('HTTP_X_FORWARDED'); else if(getenv('HTTP_FORWARDED_FOR')) $ipaddress = getenv('HTTP_FORWARDED_FOR'); else if(getenv('HTTP_FORWARDED')) $ipaddress = getenv('HTTP_FORWARDED'); else if(getenv('REMOTE_ADDR')) $ipaddress = getenv('REMOTE_ADDR'); else $ipaddress = 'UNKNOWN'; return $ipaddress; }如何從不同設(shè)備獲取正確的IP地址?
1 回答

慕田峪4524236
TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超5個(gè)贊
這些計(jì)算機(jī)很可能是通過NAT
啟用的路由器從網(wǎng)絡(luò)進(jìn)入的。在這種情況下,您將只能看到該路由器的 IP 地址,您無能為力。
但是您可以檢查 ip 地址和用戶代理標(biāo)頭的組合:
$_SERVER['HTTP_USER_AGENT']
不幸的是,沒有可靠的方法來 100% 檢查請求的來源,但 IP 地址和用戶代理的組合可以適用于簡單的場景。
- 1 回答
- 0 關(guān)注
- 205 瀏覽
添加回答
舉報(bào)
0/150
提交
取消