我建议使用地理定位服务查找用户IP地址的位置,例如freegeoip.net. 为了做到这一点,您需要通过php或javascript发出RESTAPI get请求。
要获取访问用户的ip地址,您可以在
<?php echo $_SERVER[\'REMOTE_ADDR\']; ?>
然后将其发送到freegeoip的restful api。网免费geoip将为您提供大量的日常查找,并可以从json api中为您提供以下信息作为示例:
{
"ip": "104.37.65.178",
"country_code": "CA",
"country_name": "Canada",
"region_code": "ON",
"region_name": "Ontario",
"city": "Burlington",
"zip_code": "L7M",
"time_zone": "America/Toronto",
"latitude": 43.4191,
"longitude": -79.8544,
"metro_code": 0
}
如您所见,您可以获得估计位置的纬度和经度,以及地区、国家、城市和估计邮政编码。一旦您获得了这些信息,那么就需要检查状态是否与您定义的区域匹配,而无需使用ip范围的“桶列表”。
我希望这有帮助。