防止用户从某个地理位置访问 Web 可用应用程序的最可靠方法是什么?
我知道 IP 与地理定位有关,我也知道最天真的方法是获取 HTTP 请求标头 IP 地址并从那里获取。
很明显,像上面描述的那样简单的方法非常容易绕过,特别是使用代理或 VPN。
所以问题是:是否有 100% 可靠的方法来确定网络用户的地理位置?如果没有,有哪些可用选项,每个选项的优缺点是什么?
防止用户从某个地理位置访问 Web 可用应用程序的最可靠方法是什么?
我知道 IP 与地理定位有关,我也知道最天真的方法是获取 HTTP 请求标头 IP 地址并从那里获取。
很明显,像上面描述的那样简单的方法非常容易绕过,特别是使用代理或 VPN。
所以问题是:是否有 100% 可靠的方法来确定网络用户的地理位置?如果没有,有哪些可用选项,每个选项的优缺点是什么?
最简洁的答案是不。没有办法 100% 锁定来自特定地理位置的人,因为您无法保证可靠地使用 IP 地址的用户的位置。即使可以,也可以通过重定向伪造。
有一些方法可以让某个地区的人们更难访问该网站,但这些方法的限制越多,您可能会锁定更多的合法用户。例如,关闭服务器可以让你 100% 保证中国没有人可以攻击它,但它也可以让你 100% 保证美国也没有人可以攻击它。
TCP/IP 中没有任何内容包括位置数据(除了您可以从路由表推断或在数据库中查找的内容),也没有任何内容表明机器是否“代表”另一个位置的某人行事。
因此,正如您所说,代理和 VPN、SSH 端口转发、TOR 等可以完全阻止您的 Web 应用程序了解使用您网站的人的物理位置。您可以查找的只是最后一跳的 IP 地址,即您实际看到的 TCP/IP 连接和 HTTP 请求。
如果有人试图通过其他国家的中继重定向来向您隐藏他们的位置,上述技术将不起作用。
管子上某处有一个名为IP 2 Country的数据库,可以判断 IP 的来源。
它当然不是完美的,但它可以为您提供 ip 来自的国家/地区。
还有一种方法叫做 SSN,它与 IP 地址有关。但是我不知道它是如何工作的,而且似乎相当复杂。它通常用于向您发送本地化垃圾邮件的广告中。例如,如果您住在加拿大蒙特利尔,则广告将显示“寻找蒙特利尔的单身人士!”。该人背后的 ISP 确实必须支持此服务。
首先-找出分配给该区域的IP组,然后您可以检查每个对用户IP地址的请求。如果它与您要阻止的部分区域匹配,则将它们发送到 disney.com。
看看这是否对您有帮助:IP 地址信息