2013-12-11 79 views
0

我想知道如何获取客户的位置。我知道这可以通过简单地追踪IP来实现,但这不是很准确。我注意到http://www.kickstarter.com/能够得到我的确切位置。我在2个不同的浏览器上试过了,清除了我的cookies和所有的,并且仍然能够获得我的位置。它并没有要求我允许该网页获得我的地址。这是如何完成的?PHP获取客户位置

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

+0

也许KickStarter使用Flash cookies或URL中的唯一标识符?除非您以某种方式允许,否则精确的位置查找是不可能的。或者您是否打开位置服务?你在用什么系统?如果它是一个移动设备,也许它正在使用手机信号塔跟踪? – halfer

+0

或者也许Kickstarter正在使用'$ _SERVER ['REMOTE_ADDR']',而且恰好有一个干净的非代理IP?尝试通过代理kickstarter,看看会发生什么 – James

+0

Firefox,铬,Safari浏览器都通过JavaScript公开的用户位置,如果要求(在Firefox中,例如,你会得到一个弹出说,网站xxx正在请求你的位置信息)通常只用于手机/位置信息的移动设备,所以它可能只是它从geoip拉链,如下链接 – Dave

回答

-1

您不必让页面获得您的IP地址。服务器总是知道它需要与之通话的IP地址。如果您不使用代理服务器,它将知道您的请求来自的直接地址。

0

这些网站上您的IP地址为基础的位置,例如使用Geo IP。这并不总是一个可靠的功能,大部分时间他们都向我展示了一个错误的位置。

还有其他解决方案,例如浏览器地理定位,但旧版浏览器不支持此功能(请参阅caniuse.com以获得浏览器支持)。支持它的浏览器应该请求许可。

有关地理定位方法的一些示例,请参见this website