C# 如何在TCPListener上阻止来自欧洲的所有连接

C# 如何在TCPListener上阻止来自欧洲的所有连接,c#,security,networking,geolocation,ip-geolocation,C#,Security,Networking,Geolocation,Ip Geolocation,有没有一种简单的方法在C#中使用TCPListener来阻止所有来自欧洲大陆的传入连接?我需要执行以下操作以决定是否阻止连接: 确定客户的位置(如果在欧洲,则转至步骤2,否则,绕过安全检查) 从客户端读取身份验证令牌(会话ID)。如果会话ID指示客户是非欧洲国家的公民,请授权连接。否则,请立即关闭网络流 您可以尝试使用轮询并为您的应用程序执行DNSBL列表(尽管我假设您已经通过问此问题来执行此操作)。您可以尝试使用轮询并为您的应用程序执行DNSBL列表(尽管我假设您已经通过问此问题来执行此操作)

有没有一种简单的方法在C#中使用TCPListener来阻止所有来自欧洲大陆的传入连接?我需要执行以下操作以决定是否阻止连接:

  • 确定客户的位置(如果在欧洲,则转至步骤2,否则,绕过安全检查)
  • 从客户端读取身份验证令牌(会话ID)。如果会话ID指示客户是非欧洲国家的公民,请授权连接。否则,请立即关闭网络流


  • 您可以尝试使用轮询并为您的应用程序执行DNSBL列表(尽管我假设您已经通过问此问题来执行此操作)。

    您可以尝试使用轮询并为您的应用程序执行DNSBL列表(尽管我假设您已经通过问此问题来执行此操作).

    您可以检查在线数据库以检查连接来自何处。提供了MaxMind IP定位器的链接

    您可以检查在线数据库以检查连接来自何处。提供了MaxMind IP定位器的链接

    我猜有太多颠覆性的内容;)问题不在于我为什么要屏蔽来自欧洲的内容,而在于如何做到这一点。我有几个很好的理由阻止来自欧洲国家的内容,但这不是问题。IP阻止并不一定会阻止所有欧洲居民。来自欧洲的人可以很容易地使用类似Tor的东西,或者其他匿名代理服务。为了验证他们是否是公民,他们所要做的就是连接到非欧洲国家的服务(当然,这不是验证某人的最佳方式,但对于新P2P服务的alpha来说,这是最简单的方式)@IDWMaster-对任何想访问你的人来说,无论你是否想访问欧洲,在这里阻挠你的努力都是微不足道的。通过简单地阻止IP范围,您肯定无法要求任何类型的尽职调查w.r.t任何法律要求。也就是说,那里有地理定位/IP数据库出售,但它们用于诸如利用率跟踪之类的用途,并且可能不提供任何安全保证。唯一的法律要求是,我试图阻止欧洲人访问该服务,但没有具体说明这种尝试的效果如何。只要我尝试一下,这就足够了,并将阻止大多数访问尝试,因为令人惊讶的是,欧洲很少有人知道存在这样的代理。我猜颠覆性内容太多了;)问题不在于我为什么要屏蔽来自欧洲的内容,而在于如何做到这一点。我有几个很好的理由阻止来自欧洲国家的内容,但这不是问题。IP阻止并不一定会阻止所有欧洲居民。来自欧洲的人可以很容易地使用类似Tor的东西,或者其他匿名代理服务。为了验证他们是否是公民,他们所要做的就是连接到非欧洲国家的服务(当然,这不是验证某人的最佳方式,但对于新P2P服务的alpha来说,这是最简单的方式)@IDWMaster-对任何想访问你的人来说,无论你是否想访问欧洲,在这里阻挠你的努力都是微不足道的。通过简单地阻止IP范围,您肯定无法要求任何类型的尽职调查w.r.t任何法律要求。也就是说,那里有地理定位/IP数据库出售,但它们用于诸如利用率跟踪之类的用途,并且可能不提供任何安全保证。唯一的法律要求是,我试图阻止欧洲人访问该服务,但没有具体说明这种尝试的效果如何。只要我尝试一下,这就足够了,并将阻止大多数访问尝试,因为令人惊讶的是,欧洲很少有人知道存在这样的代理。在“4分钟”过去之前,我无法接受他的回答。我正在等待答案的完成。在“4分钟”过去之前,我不能接受他的答案。我正在等待它的完成。这似乎在我的开发机器(虚拟)上运行良好。在法律部门和安全部门验证其可用性以及使用可能导致的任何法律或安全问题(可能需要几周)后,将其部署到公司。我会在这里发帖让你知道这是怎么回事。还要记住,这只是多层身份验证中的一层。将有许多例行程序有效地阻止所有欧洲人访问该服务(包括但不限于照片识别程序,类似于微软等其他公司已经在做的事情)这似乎在我的开发机器(虚拟)上运行良好。在法律部门和安全部门验证其可用性以及使用可能导致的任何法律或安全问题(可能需要几周)后,将其部署到公司。我会发回这里让你知道它是怎么回事。还要记住,这只是多层身份验证中的一层。将有许多例行程序有效地阻止所有欧洲人访问该服务(包括但不限于照片识别程序,类似于微软等其他公司已经在做的事情)