代码之家  ›  专栏  ›  技术社区  ›  kolrie

阻止给定地理位置的访问

  •  3
  • kolrie  · 技术社区  · 15 年前

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

    我理解IP与地理定位相关,我也理解最简单的方法是获取HTTP请求头IP地址并从那里获取。

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

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

    7 回复  |  直到 9 年前
        1
  •  4
  •   Steve Jessop    15 年前

    TCP/IP中的任何内容都不包括位置数据(您可以从路由表中推断的内容或在数据库中查找的内容除外),也没有任何内容指示计算机是否在“代表”其他位置的某个人。

    因此,正如您所说,代理和VPN、ssh端口转发、tor等可以完全阻止您的Web应用程序知道使用您站点的人的物理位置。您可以查找的只是最后一个跃点的IP地址,它是您实际看到的TCP/IP连接和HTTP请求。

        2
  •  6
  •   JohnFx    15 年前

    简短的回答是“不”。没有办法100%地将用户锁定在特定的地理位置,因为您不能保证用户的位置能够可靠地使用IP地址。即使可以,也可以通过重定向来伪造。

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

        3
  •  3
  •   John Saunders Tony    15 年前

    如果有人试图通过在其他国家的中继来隐藏他们的位置,上述技术就不会起作用。

        4
  •  1
  •   Matt Browne    9 年前

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

    https://www.blocked.com/

    国家阻止包含在免费版本中,如开放代理服务器、匿名网络等的阻止。

        5
  •  0
  •   Eric    15 年前

    在管上的某个地方有一个数据库 IP 2 Country 它可以分辨IP的来源。

    它当然不是完美的,但是它可以给你IP来源的国家。

    还有一种方法叫做ssn,它与IP地址有关。不过,我不知道它是如何工作的,而且似乎相当复杂。它只在广告中用于发送本地化的垃圾邮件。例如,如果你住在加拿大的蒙特利尔,那么广告将显示“从蒙特利尔找单身汉!”。此人背后的ISP必须支持此服务。

        6
  •  0
  •   IEnumerator    15 年前

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

    看看这是否有助于您: IP Address Info

        7
  •  0
  •   Alnitak    15 年前

    不,做这件事没有什么好办法。

    IETF在 GeoPriv 正在设计协议的工作组(例如 HELD )允许实体询问网络自己的位置,也允许其他 授权的 实体请求该信息。

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