2013-12-11 119 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