Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何根据位置限制对应用程序的访问?_Java_Node.js_Reactjs_Spring Boot_Devops - Fatal编程技术网

Java 如何根据位置限制对应用程序的访问?

Java 如何根据位置限制对应用程序的访问?,java,node.js,reactjs,spring-boot,devops,Java,Node.js,Reactjs,Spring Boot,Devops,我们能否基于位置(基于位置的访问控制)限制用户界面的特定流量 用户界面的一部分及其功能应仅在用户处于特定地理位置时可用?我们计划基于网络将IP地址列入白名单,但由于缺乏网络基础设施和成本过高。我们得出结论,基于网络的限制不能是有效的解决方案 我们还研究了基于GPS的解决方案,在这种解决方案中,我们无法依靠浏览器应用程序获得适当的位置 如果你们中的任何人以前使用过类似的技术,请告诉我们您是如何处理此问题的?一般的解决方案是通过一些API获取用户位置坐标,然后将其与允许的坐标列表进行比较。如果坐标在

我们能否基于位置(基于位置的访问控制)限制用户界面的特定流量

用户界面的一部分及其功能应仅在用户处于特定地理位置时可用?我们计划基于网络将IP地址列入白名单,但由于缺乏网络基础设施和成本过高。我们得出结论,基于网络的限制不能是有效的解决方案

我们还研究了基于GPS的解决方案,在这种解决方案中,我们无法依靠浏览器应用程序获得适当的位置


如果你们中的任何人以前使用过类似的技术,请告诉我们您是如何处理此问题的?

一般的解决方案是通过一些API获取用户位置坐标,然后将其与允许的坐标列表进行比较。如果坐标在列表范围内,则将启动活动,以便加载正确的视图。否则,您将加载另一个视图,通知用户他们已被拒绝访问。
请注意,除非有其他强处理API的支持,否则此方法很容易被利用。

您可以创建一个数据库资源表,其中可以包含用户可以根据其地理位置访问的资源的名称。在页面加载时,您可以查询用户是否有权访问页面[您还可以使用spring security创建请求过滤器],并相应地重定向。要使用IP地址获取地理位置,可以使用
geoIp2
。您可以按照教程进行操作

至于资源表数据,它最好包含资源被阻塞的地理位置数据

您可以使用Java或JavaScript获取客户端IP地址


也许您应该保存请求IP地址,以便对依赖于地理位置的资源进行审计。

我不是这方面的专家,但我会尝试:IP地址可能会被欺骗,并且对地理位置本地的分配可能会更改,并且不是最新的。如果没有任何额外的工具,我会说GPS,也许结合基于网络的定位似乎是最好的选择。如果你可以使用其他工具,如信标,你可以尝试要求接近某个信标,以使流量可用。GeoIP的问题是它很容易被欺骗,对吗?它不会总是显示正确的位置。我自己伪造了它,并测试了这种方法。唯一能得到准确位置的方法是用户是否愿意提供访问权限。如果你的应用程序不像Uber或delivery hero那样完全依赖于它,那么用户很可能会拒绝你的位置访问。若你们想绕过用户vpn,那个么你们应该和网络部门联系。即使可能,工作太多,收获太少。即使YouTube在某个国家被屏蔽,也可以通过vpn访问。