![](/img/trans.png)
[英]Get the IP address (192.168.X.X, assigned by the wireless router) in my webpage?
[英]Get user ip address for geolock (not 192.168 address)
我geo鎖定我們的程序,我們有一個服務,為我們返回國家代碼。 但如果有人在路由器后面,他們有一個本地192.168.xx地址,這沒告訴我什么。 有沒有辦法在路由器上找到他們的地址? 我可以做一個跟蹤,但后來我需要自己編程邏輯關於哪個ip是有用的,哪些不是。 我正在從php中的服務器執行此代碼,我們的客戶端Web應用程序是在javascript中。 請指教。
謝謝
function get_real_ip() {
if (!empty($_SERVER['HTTP_X_FORWARED_FOR']))
{
$client_ip = $_SERVER['HTTP_X_FORWARED_FOR'];
}
elseif (!empty($_SERVER['HTTP_CLIENT_IP']))
{
$client_ip = $_SERVER['HTTP_CLIENT_IP'];
}
else
{
$client_ip = $_SERVER['REMOTE_ADDR'];
}
return $client_ip;
}
對於基於服務器的軟件,PHP變量$ _SERVER ['REMOTE_ADDR']將給出客戶端的地址。 對於路由器后面的客戶端,其地址將由路由器固件轉換,因此服務器將看到路由器的公共IP地址,而不是客戶端的本地私有地址。
所有這一切都被可能存在的干預代理服務器所困擾,這些代理服務器可能會或可能不會告訴您他們的客戶端地址是什么。 你可以查看$ _SERVER ['HTTP_X_FORWRDED_FOR']或$ _SERVER ['HTTP_CLIENT_IP'],如果它們存在的話。 如果沒有,您將不得不使用代理地址。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.