我有国家的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