【问题标题】:How to find user's location?如何找到用户的位置?
【发布时间】:2016-09-30 18:29:27
【问题描述】:

当用户访问我的网站时,我试图找出他的位置。

我已经尝试使用php 从这个question 中找到用户的IP,并且我了解$_SERVER['HTTP_X_FORWARDED_FOR'] (article) 的安全重要性。使用用户 ip,我正在使用 Maxmind 地理定位服务来定位我的用户(如果可能,可以使用纬度/经度和城市)。

谁能建议我另一种定位用户位置的方法,除了用户接受在浏览器中定位其位置的带有 javascript 的方法吗?

如果使用地理定位服务,您能否推荐其他任何高精度的服务?我读过这个publication,但它已经很老了。

【问题讨论】:

  • 你不能,这是不可能的。 GeoIP 服务总会有不准确的地方,如果你使用 HTML5 位置来询问他们的位置,用户不必接受。
  • @RossAllan 我要检查 navigator.geolocation。关于准确性,您能建议任何其他服务吗?关于定位用户的位置还有其他解决方案吗?
  • 当我第一次执行 navigator.geolocation 函数时,浏览器请求允许定位我的位置。我不希望这种情况发生,因为它会对体验产生负面影响。
  • 根据设计,浏览器会请求允许以保护用户的隐私。如果他们不想让您知道位置,您将不得不坚持使用不准确的 GeoIP。如果您尝试自动填写信息以节省用户时间,例如填写地址,请使用 GeoIP 确定国家/地区,如果他们接受则使用位置信息。否则他们将不得不自己填写,这很好。您是否绝对需要准确地知道用户的位置,或者它只是您想要的东西?我不认为你想要的是可能的。
  • @RossAllan 是的,找出用户的位置(纬度/经度或城市)正在升级服务。当用户访问该网站时,我提供的信息是根据他的位置(在城市级别)进行个性化的。目前,我正在根据我在上面发布的“问题”链接以及 GeoIP 之类的地理定位服务获得他的 IP,我得到了很好的结果。但我想知道我是否可以通过其他方式找到他的位置。

标签: php geolocation


【解决方案1】:

您可以使用具有不同精度级别的 GeoIP 定位服务。可能还有其他 IP 位置数据库提供商。

另一种选择是尝试使用 HTML5 定位服务,例如 http://html5demos.com/geohttp://dev.w3.org/geo/api/spec-source.html

【讨论】:

  • 你是指 Maxmind 的 GeoIP 吗?如果是,我已经在使用它了。我在问您是否知道/在另一个 IP 位置数据库之前使用过。如果它是免费的,那就太好了(我知道 GeoLite2)。 html5demos.com/geo 找不到我的位置。
猜你喜欢
  • 2023-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多