1

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

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

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

  • 如果当前 IP 的开头与存储的记录匹配,则假定用户在该站点。
  • 如果没有 IP 匹配,那么它会询问用户他们所在的站点并要求他们更新 IP。

当站点相距很远或确定位于不同的 ISP 时,这种基本的手动检查有效,通常仅在路由器重新启动后才需要更新,并且我自己已经使用该系统大约 4 年了,没有任何问题。 ..但是...我对此没有信心,所以我的问题是;有更好的解决方案吗?

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

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

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

4

3 回答 3

1

我认为您将不得不依赖用户输入来进行此操作。知道用户是否使用代理是不可能的(或者至少非常非常困难),如果他们是,您无法知道他们的真实位置。这是天经地义的;你会相信你访问的每个网站都有这种信息吗?我肯定不会。

于 2013-08-16T11:03:50.937 回答
0

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

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

html5demos 上更复杂的示例

于 2013-08-05T09:47:33.383 回答
0

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

于 2013-08-06T20:29:19.913 回答