PHP获取客户端位置


PHP Obtain client location

我想知道如何获取客户端的位置。我知道这可以通过简单地追踪IP来实现,但这不是很准确。我注意到了http://www.kickstarter.com/能够得到我的确切位置。我在两个不同的浏览器中尝试了它,清除了我的cookie等等,它仍然能够获取我的位置。它没有要求我允许页面获取我的地址。这是怎么做到的?

对于那些建议我使用地理ip的人,请阅读实际问题。如果你追踪我的ip,你会得到一个完全不同的位置,距离我的实际位置大约100公里,而Kickstarter知道我的确切位置。

您可以对用户进行GEOIP,这是关于GEOIP 的PHP手册

这些网站根据您的IP地址来确定您的位置,例如使用Geo IP。这并不总是一个可靠的功能,大多数时候他们会给我显示错误的位置。

还有其他解决方案,例如浏览器地理定位,但较旧的浏览器不支持这一点(请参阅caniuse.com了解浏览器支持)。支持它的浏览器应该请求许可。

有关地理定位方法的一些示例,请参阅此网站。

您不必允许页面获取您的IP地址。服务器总是知道它需要与之通信的IP地址。如果你不使用代理,它会知道你的请求来自哪个直接地址。