繁体   English   中英

是否有任何可靠的方法可以根据用户的Internet连接确定其位置?

[英]Is there any reliable way to determine a user's location from their Internet connection?

我创建了一个业务管理系统,供有或没有多个站点的零售商使用。

登录用户标识其位置或站点非常重要,这样系统才能自动执行与站点相关的任务。

我目前有一个位置数据库,其中包括一个IP Prefix字段,当用户转到登录页面时,它将查找当前IP地址的前5位数字,然后:

  • 如果当前IP的起始地址与存储的记录匹配,则假定用户位于该站点。
  • 如果没有IP匹配项,它将询问用户所处的站点并要求他们更新IP。

当站点相距一定距离或可以肯定地位于不同ISP上时,此基本的手动检查工作正常,通常仅在路由器重新启动后才需要进行更新,而我本人已经使用该系统大约四年了,没有任何问题。 ..但是...我对此没有信心,所以我的问题是; 有更好的解决方案吗?

我知道IP地址可能不是最好的方式,因为IP地址是他们ISP的位置,但这不是我所需要的。

万一重要,我在VB中使用ASP.NET编码

另外,应该提一下,我正在寻找基于桌面的应用程序,而不是移动应用程序。

我认为您将不得不依靠用户输入。 不可能(或者至少非常非常困难)地知道用户是否正在使用代理,如果他们是代理,则您无法知道他们的真实位置。 这是正确和适当的; 您会相信您访问的每个网站都拥有此类信息吗? 我敢肯定不会。

如果您的客户端通过Internet连接(您可能正在通过代理,或者正如您所说的,您可能只是获得ISP的IP地址),则无法使用IP地址为您提供100%可靠的位置数据

最好的选择是使用javascript来获取用户的地理位置: W3 Schools示例

html5demos上更复杂的示例

不,当然不可能通过IP地址来可靠地定位用户。 该地址可能是伪造的,因此您的信息基础不可靠。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM