geoplugin php 提供主机服务器的国家和 ip

geoplugin php giving country and ip of hosting server

我正在使用 geoplugin php 来获取我网站上访问者的国家和 IP,但它返回的是托管服务器的 IP 和国家,而不是访问该网站的用户,我使用的是 Hostinger作为我的主机。

$ipdat = @json_decode(file_get_contents("http://www.geoplugin.net/json.gp")); 
$country = $ipdat->geoplugin_countryName; 
$ip = $ipdat->geoplugin_request;

它在 xampp 本地主机上工作正常。

您的代码行为是预期的行为,因为 GEO 插件站点从脚本请求的来源获取 IP 地址并相应地提供详细信息。如果你想要 user/visitor 的数据,那么你需要使用存储在 $_SERVER 全局变量中的用户远程 IP,并将此 IP 传递给 GEO 插件以获取他们 [=13] 中提到的详细信息=].

片段:

<?php

$data = unserialize(file_get_contents('http://www.geoplugin.net/php.gp?ip='.$_SERVER['REMOTE_ADDR']));

$country = $data['geoplugin_countryName'];
$ip = $data['geoplugin_request'];

echo $country," ",$ip,"<br/>";

print_r($data);