我有國家的IP範圍。我檢查這個範圍內的用戶IP地址是否正確,然後他能夠看到該網站,否則他不會。 我使用下面的代碼,如何在PHP中使用IP地址查找國家?
$ip = $_SERVER['REMOTE_ADDR'];
if(ip2long($ip) >= $ipstart && ip2long($ip) <= $ipend){
return true;
}
我的問題是,如果有人來自不同的國家想與ABC他的筆記本電腦/筆記本電腦到另一國假設XYZ那麼將上面的代碼工作?在同一檯筆記本電腦上。
對於ipv4和ipv6,上述場景如何可能?
[編輯]
哪個IP地址$_SERVER['REMOTE_ADDR']
取,不會是本機的IP或IP連接,這樣我們就可以知道他現在在這個國家?
謝謝
您將需要一個第三方的API IP國表從查找 –
使用此 $ countryName = geoip_country_name_by_name($ _ SERVER ['REMOTE_ADDR']); PHP建立尋找國名的方法 – Haris
[IPLocate.io](https://www.iplocate.io)提供了一個免費的API:https://www.iplocate.io/api/lookup/8.8.8.8 - 例子在PHP:'$ result = json_decode(file_get_contents('https://www.iplocate.io/api/lookup/8.8.8.8')); echo $ result-> country;' - 免責聲明:我運行此服務。 – ttarik