3

防止用户从某个地理位置访问 Web 可用应用程序的最可靠方法是什么?

我知道 IP 与地理定位有关,我也知道最天真的方法是获取 HTTP 请求标头 IP 地址并从那里获取。

很明显,像上面描述的那样简单的方法非常容易绕过,特别是使用代理或 VPN。

所以问题是:是否有 100% 可靠的方法来确定网络用户的地理位置?如果没有,有哪些可用选项,每个选项的优缺点是什么?

4

7 回答 7

6

最简洁的答案是不。没有办法 100% 锁定来自特定地理位置的人,因为您无法保证可靠地使用 IP 地址的用户的位置。即使可以,也可以通过重定向伪造。

有一些方法可以让某个地区的人们更难访问该网站,但这些方法的限制越多,您可能会锁定更多的合法用户。例如,关闭服务器可以让你 100% 保证中国没有人可以攻击它,但它也可以让你 100% 保证美国也没有人可以攻击它。

于 2009-04-08T18:55:04.940 回答
4

TCP/IP 中没有任何内容包括位置数据(除了您可以从路由表推断或在数据库中查找的内容),也没有任何内容表明机器是否“代表”另一个位置的某人行事。

因此,正如您所说,代理和 VPN、SSH 端口转发、TOR 等可以完全阻止您的 Web 应用程序了解使用您网站的人的物理位置。您可以查找的只是最后一跳的 IP 地址,即您实际看到的 TCP/IP 连接和 HTTP 请求。

于 2009-04-08T19:10:31.673 回答
3

如果有人试图通过其他国家的中继重定向来向您隐藏他们的位置,上述技术将不起作用。

于 2009-04-08T18:10:04.297 回答
1

我发现这个脚本是实现这个的简单方法:

https://www.blocked.com/

免费版本中包含国家/地区封锁,开放代理服务器、匿名网络等的封锁也是如此。

于 2015-06-09T19:55:17.613 回答
0

管子上某处有一个名为IP 2 Country的数据库,可以判断 IP 的来源。

它当然不是完美的,但它可以为您提供 ip 来自的国家/地区。

还有一种方法叫做 SSN,它与 IP 地址有关。但是我不知道它是如何工作的,而且似乎相当复杂。它通常用于向您发送本地化垃圾邮件的广告中。例如,如果您住在加拿大蒙特利尔,则广告将显示“寻找蒙特利尔的单身人士!”。该人背后的 ISP 确实必须支持此服务。

于 2009-04-08T18:04:54.653 回答
0

首先-找出分配给该区域的IP组,然后您可以检查每个对用户IP地址的请求。如果它与您要阻止的部分区域匹配,则将它们发送到 disney.com。

看看这是否对您有帮助:IP 地址信息

于 2009-04-08T18:05:53.340 回答
0

不,没有万无一失的方法可以做到这一点。

GeoPriv工作组的 IETF 正在进行大量相关工作,其中正在设计协议(例如HELD)以允许实体向网络询问他们自己的位置,并允许其他授权实体请求该信息。

然而,VPN 问题仍然会导致问题,以至于具有 VPN 功能的客户端需要在建立 VPN 之前请求其位置信息。

于 2009-04-09T08:02:41.830 回答