Java 国家/地区用户限制

Java 国家/地区用户限制,java,scala,playframework,location,ip-address,Java,Scala,Playframework,Location,Ip Address,我必须限制从某些特定国家访问我的网站。我有用户的ip地址。但我如何限制它呢?是否必须使用为我提供其国家/地区的API?我正在使用play framework 2.2在scala 2.1中创建我的网站我认为没有任何play插件可以做到这一点,因为这是一个非常罕见的用例。您可以使用基于web的API。这只是其中之一: 如果这不符合你的需要,一个简单的谷歌搜索将会出现更多。请记住,这些只能如此精确,而且通常可以通过代理绕过。其中许多服务可以检测代理,但它们不是免费的 不过,具体实施取决于您。一个简单的

我必须限制从某些特定国家访问我的网站。我有用户的ip地址。但我如何限制它呢?是否必须使用为我提供其国家/地区的API?
我正在使用play framework 2.2在scala 2.1中创建我的网站

我认为没有任何play插件可以做到这一点,因为这是一个非常罕见的用例。您可以使用基于web的API。这只是其中之一:

如果这不符合你的需要,一个简单的谷歌搜索将会出现更多。请记住,这些只能如此精确,而且通常可以通过代理绕过。其中许多服务可以检测代理,但它们不是免费的

不过,具体实施取决于您。一个简单的解决方案是创建一个新的
操作
,该操作调用API并决定如何处理响应,您可以将该操作用于每个控制器函数。然而,这并不是一个特别好的策略,因为所有请求都将等待API,所以您还必须实现某种ip白名单/黑名单


总的来说,要实现这一点,您需要做大量的工作。

我建议使用过滤器而不是操作。这样,就不需要将“GeolocRestricAction”与所有其他操作组合在一起。