有没有可靠的方法来确定用户的Internet连接位置?

时间:2013-08-05 07:24:35

标签: asp.net vb.net geolocation location

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

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

我目前有一个包含IP Prefix字段的位置数据库,当用户进入登录页面时,它会查找当前IP地址的前5位数字,然后:

  • 如果当前IP的开始与存储的记录匹配,则假设用户处于 那个网站。
  • 如果没有IP匹配则会询问用户他们所在的网站并要求他们更新IP。

当基站距离相当远或者在不同的ISP上时,这种基本和手动检查有效,通常只有在路由器重启后才需要更新,并且我自己使用系统大约4年没有问题...但是......我对它没有信心,所以我的问题是;有更好的解决方案吗?

我意识到IP地址可能不是最好的方式,它给我的是ISP的位置,但这不是我需要的。

如果重要,我在VB中使用ASP.NET编码

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

3 个答案:

答案 0 :(得分:1)

我认为你将不得不依赖这个用户输入。知道用户是否使用代理是不可能的(或者至少非常非常困难),如果他们是你无法知道他们到底在哪里。这是正确的;你会相信你使用这种信息访问的每个网站吗?我肯定不会。

答案 1 :(得分:0)

如果您的客户通过互联网连接(他们可能通过代理或者您说可能只是获取ISP的IP地址),则无法使用IP地址为您提供100%可靠的位置数据

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

More complex example on html5demos

答案 2 :(得分:0)

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