【问题标题】:How to block all European IP address?如何阻止所有欧洲 IP 地址?
【发布时间】:2019-05-24 10:34:21
【问题描述】:

我想为不在欧洲的特定语言的人建立一个网站,我不想对任何事情负责,也不想阅读法律,以防一两个人从那里连接。 Node.js/Express 应用程序是否有任何简单的方法(也许是正则表达式?)来阻止所有欧洲 IP,而无需每次连接到第三方服务时发出请求?

【问题讨论】:

  • 谷歌可能是你的朋友,搜索地理位置
  • @Mikkel 做了半个小时。我只看到第三方 API 解决方案。我发现这个 (github.com/yourtion/node-ip2region#readme) 项目似乎使用了某种离线数据库,但程序似乎以我不懂的语言输出。
  • 不管你做什么。您可以阻止但不能保证,因此某些用户使用 vpn 连接。
  • 我也不确定。我认为这是 GDRP 法律。这个想法是我不想关心,因为几乎没有用户来自欧盟,因为它是一个罕见的语言特定网站。我只是不想为可能决定从这些地方使用它的一两个用户负责。
  • 如果您不住在欧盟国家,不在欧盟开展业务,甚至不向欧盟公民宣传该网站,那么 GDPR 是否可以强制执行是值得怀疑的。

标签: javascript node.js express ip-address


【解决方案1】:

最简单的方法是使用免费的 IP 位置 API (http://ip-api.com/) 来查找用户的位置,然后使用变量限制访问。

if (loc == region) {
    redirect = true;
}

如果不调用 API,唯一的另一种方法是简单地询问他们来自哪个国家/地区,但他们可能对此不太诚实。

【讨论】:

  • 我试图避免我必须调用每个请求的第三方服务。有趣的是,您链接到的网站被 UBlock 来源扩展作为间谍软件/广告跟踪服务阻止,所以不确定有多少信任它。我想问用户他们来自哪里是一个解决方案,如果他们撒谎我可能不会承担责任。
  • 问题在于 IP 地址不断移动,因此您需要访问最新的数据库,其他选项只是不同形式的地理位置。顺便说一句,我刚刚通过谷歌搜索找到了该 API,可能最好研究一个来使用。
【解决方案2】:

不是答案

由于这似乎与 GDPR 有关,我想我会链接一些信息。

我不是律师,这不是一个合法的网站,所以按照你想要的信息去做。

https://www.gdpreu.org/the-regulation/who-must-comply/

这概述了确定是否有足够证据表明公司在 GDPR 范围内的非详尽示例:

可能是证据不足

  • 欧盟居民可以访问公司的网站
  • 欧盟居民可以访问公司的电子邮件或其他联系方式
  • 公司位于非欧盟国家,与欧盟国家使用相同的语言

可能是足够的证据

  • 公司使用与欧盟成员国通用的语言相同的语言销售其商品和服务
  • 公司以欧盟成员国货币(欧元、英镑、瑞士法郎等)列出价格
  • 公司引用欧盟客户或用户

因此,该独奏会为不向欧盟销售商品或服务的公司提供了一个安全港,呼吁他们不需要进行可能昂贵的流程阻止欧盟 IP 地址访问其网站或拒绝欧盟邮件服务器发送的电子邮件。

它进一步暗示了在营销语言方面的细微差别。一种可能性是,在欧盟国家以外常用的语言(如英语或西班牙语)本身并不能被视为向欧盟居民提供商品和服务的充分证据,而欧盟成员国更本地化的语言,如保加利亚语或爱沙尼亚语,一个人可能就够了。

【讨论】:

    猜你喜欢
    • 2010-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-25
    • 2013-08-02
    • 2019-12-14
    • 2011-02-21
    • 1970-01-01
    相关资源
    最近更新 更多